ReactOS 0.4.17-dev-806-gffa4164
nsembed.c File Reference
#include "mshtml_private.h"
#include <wincon.h>
#include <shlobj.h>
Include dependency graph for nsembed.c:

Go to the source code of this file.

Classes

struct  nsSingletonEnumerator
 
struct  nsWeakReference
 

Macros

#define NS_APPSTARTUPNOTIFIER_CONTRACTID   "@mozilla.org/embedcomp/appstartup-notifier;1"
 
#define NS_WEBBROWSER_CONTRACTID   "@mozilla.org/embedding/browser/nsWebBrowser;1"
 
#define NS_COMMANDPARAMS_CONTRACTID   "@mozilla.org/embedcomp/command-params;1"
 
#define NS_HTMLSERIALIZER_CONTRACTID   "@mozilla.org/layout/contentserializer;1?mimetype=text/html"
 
#define NS_EDITORCONTROLLER_CONTRACTID   "@mozilla.org/editor/editorcontroller;1"
 
#define NS_PREFERENCES_CONTRACTID   "@mozilla.org/preferences;1"
 
#define NS_VARIANT_CONTRACTID   "@mozilla.org/variant;1"
 
#define NS_CATEGORYMANAGER_CONTRACTID   "@mozilla.org/categorymanager;1"
 
#define NS_XMLHTTPREQUEST_CONTRACTID   "@mozilla.org/xmlextras/xmlhttprequest;1"
 
#define NS_SCRIPTSECURITYMANAGER_CONTRACTID   "@mozilla.org/scriptsecuritymanager;1"
 
#define PR_UINT32_MAX   0xffffffff
 
#define NS_STRING_CONTAINER_INIT_DEPEND   0x0002
 
#define NS_CSTRING_CONTAINER_INIT_DEPEND   0x0002
 
#define NS_DLSYM(func)
 

Typedefs

typedef UINT32 PRUint32
 

Functions

 WINE_DECLARE_DEBUG_CHANNEL (gecko)
 
static nsresult (CDECL *NS_InitXPCOM2)(nsIServiceManager **
 
static nsIFile **static PRUint32 (CDECL *NS_StringGetData)(const nsAString *
 
static nsIFile **static const PRUnichar cpp_bool *static const char cpp_bool *static void *CDECLNS_Alloc (SIZE_T)
 
static void (CDECL *NS_Free)(void *)
 
nsresult create_nsfile (const PRUnichar *path, nsIFile **ret)
 
static nsSingletonEnumeratorimpl_from_nsISimpleEnumerator (nsISimpleEnumerator *iface)
 
static nsresult NSAPI nsSingletonEnumerator_QueryInterface (nsISimpleEnumerator *iface, nsIIDRef riid, void **ppv)
 
static nsrefcnt NSAPI nsSingletonEnumerator_AddRef (nsISimpleEnumerator *iface)
 
static nsrefcnt NSAPI nsSingletonEnumerator_Release (nsISimpleEnumerator *iface)
 
static nsresult NSAPI nsSingletonEnumerator_HasMoreElements (nsISimpleEnumerator *iface, cpp_bool *_retval)
 
static nsresult NSAPI nsSingletonEnumerator_GetNext (nsISimpleEnumerator *iface, nsISupports **_retval)
 
static nsISimpleEnumeratorcreate_singleton_enumerator (nsISupports *value)
 
static nsresult NSAPI nsDirectoryServiceProvider2_QueryInterface (nsIDirectoryServiceProvider2 *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsDirectoryServiceProvider2_AddRef (nsIDirectoryServiceProvider2 *iface)
 
static nsrefcnt NSAPI nsDirectoryServiceProvider2_Release (nsIDirectoryServiceProvider2 *iface)
 
static nsresult create_profile_directory (void)
 
static nsresult NSAPI nsDirectoryServiceProvider2_GetFile (nsIDirectoryServiceProvider2 *iface, const char *prop, cpp_bool *persistent, nsIFile **_retval)
 
static nsresult NSAPI nsDirectoryServiceProvider2_GetFiles (nsIDirectoryServiceProvider2 *iface, const char *prop, nsISimpleEnumerator **_retval)
 
static LRESULT WINAPI nsembed_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 
static void register_nscontainer_class (void)
 
static BOOL install_wine_gecko (void)
 
static void set_environment (LPCWSTR gre_path)
 
static BOOL load_xul (const PRUnichar *gre_path)
 
static BOOL check_version (LPCWSTR gre_path, const char *version_string)
 
static BOOL load_wine_gecko_v (PRUnichar *gre_path, HKEY mshtml_key, const char *version, const char *version_string)
 
static BOOL load_wine_gecko (PRUnichar *gre_path)
 
static void set_bool_pref (nsIPrefBranch *pref, const char *pref_name, BOOL val)
 
static void set_int_pref (nsIPrefBranch *pref, const char *pref_name, int val)
 
static void set_string_pref (nsIPrefBranch *pref, const char *pref_name, const char *val)
 
static void set_lang (nsIPrefBranch *pref)
 
static void set_preferences (void)
 
static BOOL init_xpcom (const PRUnichar *gre_path)
 
BOOL load_gecko (void)
 
voidnsalloc (size_t size)
 
void nsfree (void *mem)
 
BOOL nsACString_Init (nsACString *str, const char *data)
 
void nsACString_InitDepend (nsACString *str, const char *data)
 
void nsACString_SetData (nsACString *str, const char *data)
 
UINT32 nsACString_GetData (const nsACString *str, const char **data)
 
void nsACString_Finish (nsACString *str)
 
BOOL nsAString_Init (nsAString *str, const PRUnichar *data)
 
void nsAString_InitDepend (nsAString *str, const PRUnichar *data)
 
UINT32 nsAString_GetData (const nsAString *str, const PRUnichar **data)
 
void nsAString_Finish (nsAString *str)
 
HRESULT map_nsresult (nsresult nsres)
 
HRESULT return_nsstr (nsresult nsres, nsAString *nsstr, BSTR *p)
 
nsICommandParamscreate_nscommand_params (void)
 
nsIWritableVariantcreate_nsvariant (void)
 
charget_nscategory_entry (const char *category, const char *entry)
 
nsresult get_nsinterface (nsISupports *iface, REFIID riid, void **ppv)
 
static HRESULT nsnode_to_nsstring_rec (nsIContentSerializer *serializer, nsIDOMNode *nsnode, nsAString *str)
 
HRESULT nsnode_to_nsstring (nsIDOMNode *nsnode, nsAString *str)
 
void get_editor_controller (NSContainer *This)
 
void close_gecko (void)
 
BOOL is_gecko_path (const char *path)
 
void set_viewer_zoom (NSContainer *nscontainer, float factor)
 
static nsWeakReferenceimpl_from_nsIWeakReference (nsIWeakReference *iface)
 
static nsresult NSAPI nsWeakReference_QueryInterface (nsIWeakReference *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsWeakReference_AddRef (nsIWeakReference *iface)
 
static nsrefcnt NSAPI nsWeakReference_Release (nsIWeakReference *iface)
 
static nsresult NSAPI nsWeakReference_QueryReferent (nsIWeakReference *iface, const nsIID *riid, void **result)
 
static NSContainerimpl_from_nsIWebBrowserChrome (nsIWebBrowserChrome *iface)
 
static nsresult NSAPI nsWebBrowserChrome_QueryInterface (nsIWebBrowserChrome *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsWebBrowserChrome_AddRef (nsIWebBrowserChrome *iface)
 
static nsrefcnt NSAPI nsWebBrowserChrome_Release (nsIWebBrowserChrome *iface)
 
static nsresult NSAPI nsWebBrowserChrome_SetStatus (nsIWebBrowserChrome *iface, UINT32 statusType, const PRUnichar *status)
 
static nsresult NSAPI nsWebBrowserChrome_GetWebBrowser (nsIWebBrowserChrome *iface, nsIWebBrowser **aWebBrowser)
 
static nsresult NSAPI nsWebBrowserChrome_SetWebBrowser (nsIWebBrowserChrome *iface, nsIWebBrowser *aWebBrowser)
 
static nsresult NSAPI nsWebBrowserChrome_GetChromeFlags (nsIWebBrowserChrome *iface, UINT32 *aChromeFlags)
 
static nsresult NSAPI nsWebBrowserChrome_SetChromeFlags (nsIWebBrowserChrome *iface, UINT32 aChromeFlags)
 
static nsresult NSAPI nsWebBrowserChrome_DestroyBrowserWindow (nsIWebBrowserChrome *iface)
 
static nsresult NSAPI nsWebBrowserChrome_SizeBrowserTo (nsIWebBrowserChrome *iface, LONG aCX, LONG aCY)
 
static nsresult NSAPI nsWebBrowserChrome_ShowAsModal (nsIWebBrowserChrome *iface)
 
static nsresult NSAPI nsWebBrowserChrome_IsWindowModal (nsIWebBrowserChrome *iface, cpp_bool *_retval)
 
static nsresult NSAPI nsWebBrowserChrome_ExitModalEventLoop (nsIWebBrowserChrome *iface, nsresult aStatus)
 
static NSContainerimpl_from_nsIContextMenuListener (nsIContextMenuListener *iface)
 
static nsresult NSAPI nsContextMenuListener_QueryInterface (nsIContextMenuListener *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsContextMenuListener_AddRef (nsIContextMenuListener *iface)
 
static nsrefcnt NSAPI nsContextMenuListener_Release (nsIContextMenuListener *iface)
 
static nsresult NSAPI nsContextMenuListener_OnShowContextMenu (nsIContextMenuListener *iface, UINT32 aContextFlags, nsIDOMEvent *aEvent, nsIDOMNode *aNode)
 
static NSContainerimpl_from_nsIURIContentListener (nsIURIContentListener *iface)
 
static nsresult NSAPI nsURIContentListener_QueryInterface (nsIURIContentListener *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsURIContentListener_AddRef (nsIURIContentListener *iface)
 
static nsrefcnt NSAPI nsURIContentListener_Release (nsIURIContentListener *iface)
 
static nsresult NSAPI nsURIContentListener_OnStartURIOpen (nsIURIContentListener *iface, nsIURI *aURI, cpp_bool *_retval)
 
static nsresult NSAPI nsURIContentListener_DoContent (nsIURIContentListener *iface, const nsACString *aContentType, cpp_bool aIsContentPreferred, nsIRequest *aRequest, nsIStreamListener **aContentHandler, cpp_bool *_retval)
 
static nsresult NSAPI nsURIContentListener_IsPreferred (nsIURIContentListener *iface, const char *aContentType, char **aDesiredContentType, cpp_bool *_retval)
 
static nsresult NSAPI nsURIContentListener_CanHandleContent (nsIURIContentListener *iface, const char *aContentType, cpp_bool aIsContentPreferred, char **aDesiredContentType, cpp_bool *_retval)
 
static nsresult NSAPI nsURIContentListener_GetLoadCookie (nsIURIContentListener *iface, nsISupports **aLoadCookie)
 
static nsresult NSAPI nsURIContentListener_SetLoadCookie (nsIURIContentListener *iface, nsISupports *aLoadCookie)
 
static nsresult NSAPI nsURIContentListener_GetParentContentListener (nsIURIContentListener *iface, nsIURIContentListener **aParentContentListener)
 
static nsresult NSAPI nsURIContentListener_SetParentContentListener (nsIURIContentListener *iface, nsIURIContentListener *aParentContentListener)
 
static NSContainerimpl_from_nsIEmbeddingSiteWindow (nsIEmbeddingSiteWindow *iface)
 
static nsresult NSAPI nsEmbeddingSiteWindow_QueryInterface (nsIEmbeddingSiteWindow *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsEmbeddingSiteWindow_AddRef (nsIEmbeddingSiteWindow *iface)
 
static nsrefcnt NSAPI nsEmbeddingSiteWindow_Release (nsIEmbeddingSiteWindow *iface)
 
static nsresult NSAPI nsEmbeddingSiteWindow_SetDimensions (nsIEmbeddingSiteWindow *iface, UINT32 flags, LONG x, LONG y, LONG cx, LONG cy)
 
static nsresult NSAPI nsEmbeddingSiteWindow_GetDimensions (nsIEmbeddingSiteWindow *iface, UINT32 flags, LONG *x, LONG *y, LONG *cx, LONG *cy)
 
static nsresult NSAPI nsEmbeddingSiteWindow_SetFocus (nsIEmbeddingSiteWindow *iface)
 
static nsresult NSAPI nsEmbeddingSiteWindow_GetVisibility (nsIEmbeddingSiteWindow *iface, cpp_bool *aVisibility)
 
static nsresult NSAPI nsEmbeddingSiteWindow_SetVisibility (nsIEmbeddingSiteWindow *iface, cpp_bool aVisibility)
 
static nsresult NSAPI nsEmbeddingSiteWindow_GetTitle (nsIEmbeddingSiteWindow *iface, PRUnichar **aTitle)
 
static nsresult NSAPI nsEmbeddingSiteWindow_SetTitle (nsIEmbeddingSiteWindow *iface, const PRUnichar *aTitle)
 
static nsresult NSAPI nsEmbeddingSiteWindow_GetSiteWindow (nsIEmbeddingSiteWindow *iface, void **aSiteWindow)
 
static NSContainerimpl_from_nsITooltipListener (nsITooltipListener *iface)
 
static nsresult NSAPI nsTooltipListener_QueryInterface (nsITooltipListener *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsTooltipListener_AddRef (nsITooltipListener *iface)
 
static nsrefcnt NSAPI nsTooltipListener_Release (nsITooltipListener *iface)
 
static nsresult NSAPI nsTooltipListener_OnShowTooltip (nsITooltipListener *iface, LONG aXCoord, LONG aYCoord, const PRUnichar *aTipText)
 
static nsresult NSAPI nsTooltipListener_OnHideTooltip (nsITooltipListener *iface)
 
static NSContainerimpl_from_nsIInterfaceRequestor (nsIInterfaceRequestor *iface)
 
static nsresult NSAPI nsInterfaceRequestor_QueryInterface (nsIInterfaceRequestor *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsInterfaceRequestor_AddRef (nsIInterfaceRequestor *iface)
 
static nsrefcnt NSAPI nsInterfaceRequestor_Release (nsIInterfaceRequestor *iface)
 
static nsresult NSAPI nsInterfaceRequestor_GetInterface (nsIInterfaceRequestor *iface, nsIIDRef riid, void **result)
 
static NSContainerimpl_from_nsISupportsWeakReference (nsISupportsWeakReference *iface)
 
static nsresult NSAPI nsSupportsWeakReference_QueryInterface (nsISupportsWeakReference *iface, nsIIDRef riid, void **result)
 
static nsrefcnt NSAPI nsSupportsWeakReference_AddRef (nsISupportsWeakReference *iface)
 
static nsrefcnt NSAPI nsSupportsWeakReference_Release (nsISupportsWeakReference *iface)
 
static nsresult NSAPI nsSupportsWeakReference_GetWeakReference (nsISupportsWeakReference *iface, nsIWeakReference **_retval)
 
static HRESULT init_nscontainer (NSContainer *nscontainer)
 
HRESULT create_nscontainer (HTMLDocumentObj *doc, NSContainer **_ret)
 
void NSContainer_Release (NSContainer *This)
 
nsIXMLHttpRequestcreate_nsxhr (nsIDOMWindow *nswindow)
 

Variables

static cpp_bool
 
static HINSTANCE xul_handle = NULL
 
static nsIServiceManagerpServMgr = NULL
 
static nsIComponentManagerpCompMgr = NULL
 
static nsICategoryManagercat_mgr
 
static nsIFileprofile_directory
 
static nsIFileplugin_directory
 
static const WCHAR wszNsContainer [] = {'N','s','C','o','n','t','a','i','n','e','r',0}
 
static ATOM nscontainer_class
 
static WCHAR gecko_path [MAX_PATH]
 
static unsigned gecko_path_len
 
static const nsISimpleEnumeratorVtbl nsSingletonEnumeratorVtbl
 
static const nsIDirectoryServiceProvider2Vtbl nsDirectoryServiceProvider2Vtbl
 
static nsIDirectoryServiceProvider2 nsDirectoryServiceProvider2
 
static CRITICAL_SECTION cs_load_gecko = { &cs_load_gecko_dbg, -1, 0, 0, 0, 0 }
 
static CRITICAL_SECTION_DEBUG cs_load_gecko_dbg
 
static const nsIWeakReferenceVtbl nsWeakReferenceVtbl
 
static const nsIWebBrowserChromeVtbl nsWebBrowserChromeVtbl
 
static const nsIContextMenuListenerVtbl nsContextMenuListenerVtbl
 
static const nsIURIContentListenerVtbl nsURIContentListenerVtbl
 
static const nsIEmbeddingSiteWindowVtbl nsEmbeddingSiteWindowVtbl
 
static const nsITooltipListenerVtbl nsTooltipListenerVtbl
 
static const nsIInterfaceRequestorVtbl nsInterfaceRequestorVtbl
 
static const nsISupportsWeakReferenceVtbl nsSupportsWeakReferenceVtbl
 

Macro Definition Documentation

◆ NS_APPSTARTUPNOTIFIER_CONTRACTID

#define NS_APPSTARTUPNOTIFIER_CONTRACTID   "@mozilla.org/embedcomp/appstartup-notifier;1"

Definition at line 26 of file nsembed.c.

◆ NS_CATEGORYMANAGER_CONTRACTID

#define NS_CATEGORYMANAGER_CONTRACTID   "@mozilla.org/categorymanager;1"

Definition at line 33 of file nsembed.c.

◆ NS_COMMANDPARAMS_CONTRACTID

#define NS_COMMANDPARAMS_CONTRACTID   "@mozilla.org/embedcomp/command-params;1"

Definition at line 28 of file nsembed.c.

◆ NS_CSTRING_CONTAINER_INIT_DEPEND

#define NS_CSTRING_CONTAINER_INIT_DEPEND   0x0002

Definition at line 40 of file nsembed.c.

◆ NS_DLSYM

#define NS_DLSYM (   func)
Value:
if(!func) \
ERR("Could not GetProcAddress(" #func ") failed\n")
#define GetProcAddress(x, y)
Definition: compat.h:753
GLenum func
Definition: glext.h:6028
static HINSTANCE xul_handle
Definition: nsembed.c:59

◆ NS_EDITORCONTROLLER_CONTRACTID

#define NS_EDITORCONTROLLER_CONTRACTID   "@mozilla.org/editor/editorcontroller;1"

Definition at line 30 of file nsembed.c.

◆ NS_HTMLSERIALIZER_CONTRACTID

#define NS_HTMLSERIALIZER_CONTRACTID   "@mozilla.org/layout/contentserializer;1?mimetype=text/html"

Definition at line 29 of file nsembed.c.

◆ NS_PREFERENCES_CONTRACTID

#define NS_PREFERENCES_CONTRACTID   "@mozilla.org/preferences;1"

Definition at line 31 of file nsembed.c.

◆ NS_SCRIPTSECURITYMANAGER_CONTRACTID

#define NS_SCRIPTSECURITYMANAGER_CONTRACTID   "@mozilla.org/scriptsecuritymanager;1"

Definition at line 35 of file nsembed.c.

◆ NS_STRING_CONTAINER_INIT_DEPEND

#define NS_STRING_CONTAINER_INIT_DEPEND   0x0002

Definition at line 39 of file nsembed.c.

◆ NS_VARIANT_CONTRACTID

#define NS_VARIANT_CONTRACTID   "@mozilla.org/variant;1"

Definition at line 32 of file nsembed.c.

◆ NS_WEBBROWSER_CONTRACTID

#define NS_WEBBROWSER_CONTRACTID   "@mozilla.org/embedding/browser/nsWebBrowser;1"

Definition at line 27 of file nsembed.c.

◆ NS_XMLHTTPREQUEST_CONTRACTID

#define NS_XMLHTTPREQUEST_CONTRACTID   "@mozilla.org/xmlextras/xmlhttprequest;1"

Definition at line 34 of file nsembed.c.

◆ PR_UINT32_MAX

#define PR_UINT32_MAX   0xffffffff

Definition at line 37 of file nsembed.c.

Typedef Documentation

◆ PRUint32

static nsIFile **static const PRUnichar cpp_bool *static PRUint32

Definition at line 42 of file nsembed.c.

Function Documentation

◆ check_version()

static BOOL check_version ( LPCWSTR  gre_path,
const char version_string 
)
static

Definition at line 521 of file nsembed.c.

522{
524 char version[128];
525 DWORD read=0;
526 HANDLE hfile;
527
528 static const WCHAR wszVersion[] = {'\\','V','E','R','S','I','O','N',0};
529
530 strcpyW(file_name, gre_path);
531 strcatW(file_name, wszVersion);
532
535 if(hfile == INVALID_HANDLE_VALUE) {
536 ERR("Could not open VERSION file\n");
537 return FALSE;
538 }
539
540 ReadFile(hfile, version, sizeof(version), &read, NULL);
541 version[read] = 0;
542 CloseHandle(hfile);
543
544 TRACE("%s\n", debugstr_a(version));
545
547 ERR("Unexpected version %s, expected %s\n", debugstr_a(version),
549 return FALSE;
550 }
551
552 return TRUE;
553}
#define read
Definition: acwin.h:97
#define ERR(fmt,...)
Definition: precomp.h:57
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define CloseHandle
Definition: compat.h:739
#define OPEN_EXISTING
Definition: compat.h:775
#define ReadFile(a, b, c, d, e)
Definition: compat.h:742
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
#define GENERIC_READ
Definition: compat.h:135
#define MAX_PATH
Definition: compat.h:34
#define CreateFileW
Definition: compat.h:741
#define FILE_ATTRIBUTE_NORMAL
Definition: compat.h:137
#define FILE_SHARE_READ
Definition: compat.h:136
static const WCHAR version[]
Definition: asmname.c:66
_ACRTIMP int __cdecl strcmp(const char *, const char *)
Definition: string.c:3324
unsigned long DWORD
Definition: ntddk_ex.h:95
#define debugstr_a
Definition: kernel32.h:31
char version_string[]
Definition: mkisofs.c:71
static LPCWSTR file_name
Definition: protocol.c:152
short WCHAR
Definition: pedump.c:58
#define TRACE(s)
Definition: solgame.cpp:4
#define strcatW(d, s)
Definition: unicode.h:30
#define strcpyW(d, s)
Definition: unicode.h:29

Referenced by load_wine_gecko_v(), and SECUR32_initNTLMSP().

◆ close_gecko()

void close_gecko ( void  )

Definition at line 1106 of file nsembed.c.

1107{
1108 TRACE("()\n");
1109
1110 release_nsio();
1112
1113 if(profile_directory) {
1114 nsIFile_Release(profile_directory);
1116 }
1117
1118 if(plugin_directory) {
1119 nsIFile_Release(plugin_directory);
1121 }
1122
1123 if(pCompMgr)
1124 nsIComponentManager_Release(pCompMgr);
1125
1126 if(pServMgr)
1127 nsIServiceManager_Release(pServMgr);
1128
1129 if(cat_mgr)
1130 nsICategoryManager_Release(cat_mgr);
1131
1132 /* Gecko doesn't really support being unloaded */
1133 /* if (hXPCOM) FreeLibrary(hXPCOM); */
1134
1136}
void init_mutation(nsIComponentManager *) DECLSPEC_HIDDEN
Definition: mutation.c:774
void release_nsio(void) DECLSPEC_HIDDEN
Definition: nsio.c:4085
static nsICategoryManager * cat_mgr
Definition: nsembed.c:63
static CRITICAL_SECTION cs_load_gecko
Definition: nsembed.c:733
static nsIComponentManager * pCompMgr
Definition: nsembed.c:62
static nsIFile * plugin_directory
Definition: nsembed.c:64
static nsIServiceManager * pServMgr
Definition: nsembed.c:61
static nsIFile * profile_directory
Definition: nsembed.c:64
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)

Referenced by process_detach().

◆ create_nscommand_params()

nsICommandParams * create_nscommand_params ( void  )

Definition at line 895 of file nsembed.c.

896{
898 nsresult nsres;
899
900 if(!pCompMgr)
901 return NULL;
902
903 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
904 NS_COMMANDPARAMS_CONTRACTID, NULL, &IID_nsICommandParams,
905 (void**)&ret);
906 if(NS_FAILED(nsres))
907 ERR("Could not get nsICommandParams\n");
908
909 return ret;
910}
return ret
Definition: mutex.c:147
#define NS_FAILED(res)
#define NS_COMMANDPARAMS_CONTRACTID
Definition: nsembed.c:28

Referenced by exec_fontname(), exec_forecolor(), query_ns_edit_status(), set_ns_align(), and set_ns_fontname().

◆ create_nscontainer()

HRESULT create_nscontainer ( HTMLDocumentObj doc,
NSContainer **  _ret 
)

Definition at line 2106 of file nsembed.c.

2107{
2109 HRESULT hres;
2110
2111 if(!load_gecko())
2113
2114 ret = heap_alloc_zero(sizeof(NSContainer));
2115 if(!ret)
2116 return E_OUTOFMEMORY;
2117
2118 ret->nsIWebBrowserChrome_iface.lpVtbl = &nsWebBrowserChromeVtbl;
2119 ret->nsIContextMenuListener_iface.lpVtbl = &nsContextMenuListenerVtbl;
2120 ret->nsIURIContentListener_iface.lpVtbl = &nsURIContentListenerVtbl;
2121 ret->nsIEmbeddingSiteWindow_iface.lpVtbl = &nsEmbeddingSiteWindowVtbl;
2122 ret->nsITooltipListener_iface.lpVtbl = &nsTooltipListenerVtbl;
2123 ret->nsIInterfaceRequestor_iface.lpVtbl = &nsInterfaceRequestorVtbl;
2124 ret->nsISupportsWeakReference_iface.lpVtbl = &nsSupportsWeakReferenceVtbl;
2125
2126 ret->doc = doc;
2127 ret->ref = 1;
2128
2130 if(SUCCEEDED(hres))
2131 *_ret = ret;
2132 else
2133 nsIWebBrowserChrome_Release(&ret->nsIWebBrowserChrome_iface);
2134 return hres;
2135}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define SUCCEEDED(hr)
Definition: intsafe.h:50
HRESULT hres
Definition: protocol.c:465
static const nsIInterfaceRequestorVtbl nsInterfaceRequestorVtbl
Definition: nsembed.c:1938
BOOL load_gecko(void)
Definition: nsembed.c:742
static const nsISupportsWeakReferenceVtbl nsSupportsWeakReferenceVtbl
Definition: nsembed.c:1991
static const nsITooltipListenerVtbl nsTooltipListenerVtbl
Definition: nsembed.c:1893
static const nsIWebBrowserChromeVtbl nsWebBrowserChromeVtbl
Definition: nsembed.c:1429
static const nsIURIContentListenerVtbl nsURIContentListenerVtbl
Definition: nsembed.c:1703
static const nsIEmbeddingSiteWindowVtbl nsEmbeddingSiteWindowVtbl
Definition: nsembed.c:1834
static HRESULT init_nscontainer(NSContainer *nscontainer)
Definition: nsembed.c:1998
static const nsIContextMenuListenerVtbl nsContextMenuListenerVtbl
Definition: nsembed.c:1539
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:3772

Referenced by HTMLDocument_Create().

◆ create_nsfile()

nsresult create_nsfile ( const PRUnichar path,
nsIFile **  ret 
)

Definition at line 72 of file nsembed.c.

73{
75 nsresult nsres;
76
78 nsres = NS_NewLocalFile(&str, FALSE, ret);
80
81 if(NS_FAILED(nsres))
82 WARN("NS_NewLocalFile failed: %08x\n", nsres);
83 return nsres;
84}
#define WARN(fmt,...)
Definition: precomp.h:61
void nsAString_InitDepend(nsAString *str, const PRUnichar *data)
Definition: nsembed.c:826
void nsAString_Finish(nsAString *str)
Definition: nsembed.c:836
const WCHAR * str

Referenced by create_profile_directory(), init_xpcom(), nsDirectoryServiceProvider2_GetFiles(), and nsFileURL_GetFile().

◆ create_nsvariant()

nsIWritableVariant * create_nsvariant ( void  )

Definition at line 912 of file nsembed.c.

913{
915 nsresult nsres;
916
917 if(!pCompMgr)
918 return NULL;
919
920 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
921 NS_VARIANT_CONTRACTID, NULL, &IID_nsIWritableVariant, (void**)&ret);
922 if(NS_FAILED(nsres))
923 ERR("Could not get nsIVariant\n");
924
925 return ret;
926}
#define NS_VARIANT_CONTRACTID
Definition: nsembed.c:32

Referenced by HTMLSelectElement_add().

◆ create_nsxhr()

nsIXMLHttpRequest * create_nsxhr ( nsIDOMWindow nswindow)

Definition at line 2186 of file nsembed.c.

2187{
2189 nsIPrincipal *nspri;
2190 nsIGlobalObject *nsglo;
2191 nsIXMLHttpRequest *nsxhr;
2192 nsresult nsres;
2193
2194 nsres = nsIServiceManager_GetServiceByContractID(pServMgr,
2196 &IID_nsIScriptSecurityManager, (void**)&secman);
2197 if(NS_FAILED(nsres)) {
2198 ERR("Could not get sec manager service: %08x\n", nsres);
2199 return NULL;
2200 }
2201
2202 nsres = nsIScriptSecurityManager_GetSystemPrincipal(secman, &nspri);
2203 nsIScriptSecurityManager_Release(secman);
2204 if(NS_FAILED(nsres)) {
2205 ERR("GetSystemPrincipal failed: %08x\n", nsres);
2206 return NULL;
2207 }
2208
2209 nsres = nsIDOMWindow_QueryInterface(nswindow, &IID_nsIGlobalObject, (void **)&nsglo);
2210 assert(nsres == NS_OK);
2211
2212 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
2213 NS_XMLHTTPREQUEST_CONTRACTID, NULL, &IID_nsIXMLHttpRequest,
2214 (void**)&nsxhr);
2215 if(NS_FAILED(nsres)) {
2216 ERR("Could not get nsIXMLHttpRequest: %08x\n", nsres);
2217 nsISupports_Release(nspri);
2218 nsIGlobalObject_Release(nsglo);
2219 return NULL;
2220 }
2221
2222 nsres = nsIXMLHttpRequest_Init(nsxhr, nspri, NULL, nsglo, NULL, NULL);
2223
2224 nsISupports_Release(nspri);
2225 nsIGlobalObject_Release(nsglo);
2226 if(NS_FAILED(nsres)) {
2227 ERR("nsIXMLHttpRequest_Init failed: %08x\n", nsres);
2228 nsIXMLHttpRequest_Release(nsxhr);
2229 return NULL;
2230 }
2231 return nsxhr;
2232}
#define assert(_expr)
Definition: assert.h:32
#define NS_OK
#define NS_SCRIPTSECURITYMANAGER_CONTRACTID
Definition: nsembed.c:35
#define NS_XMLHTTPREQUEST_CONTRACTID
Definition: nsembed.c:34

Referenced by HTMLXMLHttpRequestFactory_create().

◆ create_profile_directory()

static nsresult create_profile_directory ( void  )
static

Definition at line 224 of file nsembed.c.

225{
226 static const WCHAR wine_geckoW[] = {'\\','w','i','n','e','_','g','e','c','k','o',0};
227
228 WCHAR path[MAX_PATH + sizeof(wine_geckoW)/sizeof(WCHAR)];
229 cpp_bool exists;
230 nsresult nsres;
232
234 if(FAILED(hres)) {
235 ERR("SHGetFolderPath failed: %08x\n", hres);
236 return NS_ERROR_FAILURE;
237 }
238
239 strcatW(path, wine_geckoW);
241 if(NS_FAILED(nsres))
242 return nsres;
243
244 nsres = nsIFile_Exists(profile_directory, &exists);
245 if(NS_FAILED(nsres)) {
246 ERR("Exists failed: %08x\n", nsres);
247 return nsres;
248 }
249
250 if(!exists) {
251 nsres = nsIFile_Create(profile_directory, 1, 0700);
252 if(NS_FAILED(nsres))
253 ERR("Create failed: %08x\n", nsres);
254 }
255
256 return nsres;
257}
unsigned char cpp_bool
Definition: atl.c:35
HRESULT WINAPI SHGetFolderPathW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath)
Definition: shellpath.c:2717
#define FAILED(hr)
Definition: intsafe.h:51
#define NS_ERROR_FAILURE
nsresult create_nsfile(const PRUnichar *path, nsIFile **ret)
Definition: nsembed.c:72
@ SHGFP_TYPE_CURRENT
Definition: shlobj.h:2167
#define CSIDL_APPDATA
Definition: shlobj.h:2216

Referenced by nsDirectoryServiceProvider2_GetFile().

◆ create_singleton_enumerator()

static nsISimpleEnumerator * create_singleton_enumerator ( nsISupports value)
static

Definition at line 175 of file nsembed.c.

176{
178
179 ret = heap_alloc(sizeof(*ret));
180 if(!ret)
181 return NULL;
182
183 ret->nsISimpleEnumerator_iface.lpVtbl = &nsSingletonEnumeratorVtbl;
184 ret->ref = 1;
185
186 if(value)
187 nsISupports_AddRef(value);
188 ret->value = value;
189 return &ret->nsISimpleEnumerator_iface;
190}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static const nsISimpleEnumeratorVtbl nsSingletonEnumeratorVtbl
Definition: nsembed.c:167
Definition: pdh_main.c:96

Referenced by nsDirectoryServiceProvider2_GetFiles().

◆ get_editor_controller()

void get_editor_controller ( NSContainer This)

Definition at line 1059 of file nsembed.c.

1060{
1061 nsIEditingSession *editing_session = NULL;
1062 nsIControllerContext *ctrlctx;
1063 nsresult nsres;
1064
1065 if(This->editor) {
1066 nsIEditor_Release(This->editor);
1067 This->editor = NULL;
1068 }
1069
1070 if(This->editor_controller) {
1071 nsIController_Release(This->editor_controller);
1072 This->editor_controller = NULL;
1073 }
1074
1075 nsres = get_nsinterface((nsISupports*)This->webbrowser, &IID_nsIEditingSession,
1076 (void**)&editing_session);
1077 if(NS_FAILED(nsres)) {
1078 ERR("Could not get nsIEditingSession: %08x\n", nsres);
1079 return;
1080 }
1081
1082 nsres = nsIEditingSession_GetEditorForWindow(editing_session,
1083 This->doc->basedoc.window->nswindow, &This->editor);
1084 nsIEditingSession_Release(editing_session);
1085 if(NS_FAILED(nsres)) {
1086 ERR("Could not get editor: %08x\n", nsres);
1087 return;
1088 }
1089
1090 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
1091 NS_EDITORCONTROLLER_CONTRACTID, NULL, &IID_nsIControllerContext, (void**)&ctrlctx);
1092 if(NS_SUCCEEDED(nsres)) {
1093 nsres = nsIControllerContext_SetCommandContext(ctrlctx, (nsISupports *)This->editor);
1094 if(NS_FAILED(nsres))
1095 ERR("SetCommandContext failed: %08x\n", nsres);
1096 nsres = nsIControllerContext_QueryInterface(ctrlctx, &IID_nsIController,
1097 (void**)&This->editor_controller);
1098 nsIControllerContext_Release(ctrlctx);
1099 if(NS_FAILED(nsres))
1100 ERR("Could not get nsIController interface: %08x\n", nsres);
1101 }else {
1102 ERR("Could not create edit controller: %08x\n", nsres);
1103 }
1104}
#define NS_SUCCEEDED(res)
nsresult get_nsinterface(nsISupports *iface, REFIID riid, void **ppv)
Definition: nsembed.c:937
#define NS_EDITORCONTROLLER_CONTRACTID
Definition: nsembed.c:30

Referenced by handle_edit_load().

◆ get_nscategory_entry()

char * get_nscategory_entry ( const char category,
const char entry 
)

Definition at line 928 of file nsembed.c.

929{
930 char *ret = NULL;
931 nsresult nsres;
932
933 nsres = nsICategoryManager_GetCategoryEntry(cat_mgr, category, entry, &ret);
934 return NS_SUCCEEDED(nsres) ? ret : NULL;
935}
uint32_t entry
Definition: isohybrid.c:63

Referenced by is_supported_doc_mime().

◆ get_nsinterface()

nsresult get_nsinterface ( nsISupports iface,
REFIID  riid,
void **  ppv 
)

Definition at line 937 of file nsembed.c.

938{
939 nsIInterfaceRequestor *iface_req;
940 nsresult nsres;
941
942 nsres = nsISupports_QueryInterface(iface, &IID_nsIInterfaceRequestor, (void**)&iface_req);
943 if(NS_FAILED(nsres))
944 return nsres;
945
946 nsres = nsIInterfaceRequestor_GetInterface(iface_req, riid, ppv);
947 nsIInterfaceRequestor_Release(iface_req);
948
949 return nsres;
950}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39

Referenced by CustomDoc_Release(), do_ns_command(), exec_print(), get_clipboard_commands(), get_editor_controller(), get_ns_command_state(), load_nsuri(), and set_viewer_zoom().

◆ impl_from_nsIContextMenuListener()

static NSContainer * impl_from_nsIContextMenuListener ( nsIContextMenuListener iface)
inlinestatic

Definition at line 1449 of file nsembed.c.

1450{
1451 return CONTAINING_RECORD(iface, NSContainer, nsIContextMenuListener_iface);
1452}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by nsContextMenuListener_AddRef(), nsContextMenuListener_OnShowContextMenu(), nsContextMenuListener_QueryInterface(), and nsContextMenuListener_Release().

◆ impl_from_nsIEmbeddingSiteWindow()

◆ impl_from_nsIInterfaceRequestor()

static NSContainer * impl_from_nsIInterfaceRequestor ( nsIInterfaceRequestor iface)
inlinestatic

Definition at line 1901 of file nsembed.c.

1902{
1903 return CONTAINING_RECORD(iface, NSContainer, nsIInterfaceRequestor_iface);
1904}

Referenced by nsInterfaceRequestor_AddRef(), nsInterfaceRequestor_GetInterface(), nsInterfaceRequestor_QueryInterface(), and nsInterfaceRequestor_Release().

◆ impl_from_nsISimpleEnumerator()

static nsSingletonEnumerator * impl_from_nsISimpleEnumerator ( nsISimpleEnumerator iface)
inlinestatic

◆ impl_from_nsISupportsWeakReference()

static NSContainer * impl_from_nsISupportsWeakReference ( nsISupportsWeakReference iface)
inlinestatic

◆ impl_from_nsITooltipListener()

static NSContainer * impl_from_nsITooltipListener ( nsITooltipListener iface)
inlinestatic

◆ impl_from_nsIURIContentListener()

◆ impl_from_nsIWeakReference()

static nsWeakReference * impl_from_nsIWeakReference ( nsIWeakReference iface)
inlinestatic

Definition at line 1190 of file nsembed.c.

1191{
1192 return CONTAINING_RECORD(iface, nsWeakReference, nsIWeakReference_iface);
1193}

Referenced by nsWeakReference_AddRef(), nsWeakReference_QueryInterface(), nsWeakReference_QueryReferent(), and nsWeakReference_Release().

◆ impl_from_nsIWebBrowserChrome()

◆ init_nscontainer()

static HRESULT init_nscontainer ( NSContainer nscontainer)
static

Definition at line 1998 of file nsembed.c.

1999{
2000 nsIWebBrowserSetup *wbsetup;
2001 nsIScrollable *scrollable;
2002 nsresult nsres;
2003
2004 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr, NS_WEBBROWSER_CONTRACTID,
2005 NULL, &IID_nsIWebBrowser, (void**)&nscontainer->webbrowser);
2006 if(NS_FAILED(nsres)) {
2007 ERR("Creating WebBrowser failed: %08x\n", nsres);
2008 return E_FAIL;
2009 }
2010
2011 nsres = nsIWebBrowser_SetContainerWindow(nscontainer->webbrowser, &nscontainer->nsIWebBrowserChrome_iface);
2012 if(NS_FAILED(nsres)) {
2013 ERR("SetContainerWindow failed: %08x\n", nsres);
2014 return E_FAIL;
2015 }
2016
2017 nsres = nsIWebBrowser_QueryInterface(nscontainer->webbrowser, &IID_nsIBaseWindow,
2018 (void**)&nscontainer->window);
2019 if(NS_FAILED(nsres)) {
2020 ERR("Could not get nsIBaseWindow interface: %08x\n", nsres);
2021 return E_FAIL;
2022 }
2023
2024 nsres = nsIWebBrowser_QueryInterface(nscontainer->webbrowser, &IID_nsIWebBrowserSetup,
2025 (void**)&wbsetup);
2026 if(NS_SUCCEEDED(nsres)) {
2027 nsres = nsIWebBrowserSetup_SetProperty(wbsetup, SETUP_IS_CHROME_WRAPPER, FALSE);
2028 nsIWebBrowserSetup_Release(wbsetup);
2029 if(NS_FAILED(nsres)) {
2030 ERR("SetProperty(SETUP_IS_CHROME_WRAPPER) failed: %08x\n", nsres);
2031 return E_FAIL;
2032 }
2033 }else {
2034 ERR("Could not get nsIWebBrowserSetup interface\n");
2035 return E_FAIL;
2036 }
2037
2038 nsres = nsIWebBrowser_QueryInterface(nscontainer->webbrowser, &IID_nsIWebNavigation,
2039 (void**)&nscontainer->navigation);
2040 if(NS_FAILED(nsres)) {
2041 ERR("Could not get nsIWebNavigation interface: %08x\n", nsres);
2042 return E_FAIL;
2043 }
2044
2045 nsres = nsIWebBrowser_QueryInterface(nscontainer->webbrowser, &IID_nsIWebBrowserFocus,
2046 (void**)&nscontainer->focus);
2047 if(NS_FAILED(nsres)) {
2048 ERR("Could not get nsIWebBrowserFocus interface: %08x\n", nsres);
2049 return E_FAIL;
2050 }
2051
2052 if(!nscontainer_class) {
2055 return E_FAIL;
2056 }
2057
2058 nscontainer->hwnd = CreateWindowExW(0, wszNsContainer, NULL,
2059 WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0, 0, 100, 100,
2060 GetDesktopWindow(), NULL, hInst, nscontainer);
2061 if(!nscontainer->hwnd) {
2062 WARN("Could not create window\n");
2063 return E_FAIL;
2064 }
2065
2066 nsres = nsIBaseWindow_InitWindow(nscontainer->window, nscontainer->hwnd, NULL, 0, 0, 100, 100);
2067 if(NS_SUCCEEDED(nsres)) {
2068 nsres = nsIBaseWindow_Create(nscontainer->window);
2069 if(NS_FAILED(nsres)) {
2070 WARN("Creating window failed: %08x\n", nsres);
2071 return E_FAIL;
2072 }
2073
2074 nsIBaseWindow_SetVisibility(nscontainer->window, FALSE);
2075 nsIBaseWindow_SetEnabled(nscontainer->window, FALSE);
2076 }else {
2077 ERR("InitWindow failed: %08x\n", nsres);
2078 return E_FAIL;
2079 }
2080
2081 nsres = nsIWebBrowser_SetParentURIContentListener(nscontainer->webbrowser,
2082 &nscontainer->nsIURIContentListener_iface);
2083 if(NS_FAILED(nsres))
2084 ERR("SetParentURIContentListener failed: %08x\n", nsres);
2085
2086 nsres = nsIWebBrowser_QueryInterface(nscontainer->webbrowser, &IID_nsIScrollable, (void**)&scrollable);
2087 if(NS_SUCCEEDED(nsres)) {
2088 nsres = nsIScrollable_SetDefaultScrollbarPreferences(scrollable,
2089 ScrollOrientation_Y, Scrollbar_Always);
2090 if(NS_FAILED(nsres))
2091 ERR("Could not set default Y scrollbar prefs: %08x\n", nsres);
2092
2093 nsres = nsIScrollable_SetDefaultScrollbarPreferences(scrollable,
2094 ScrollOrientation_X, Scrollbar_Auto);
2095 if(NS_FAILED(nsres))
2096 ERR("Could not set default X scrollbar prefs: %08x\n", nsres);
2097
2098 nsIScrollable_Release(scrollable);
2099 }else {
2100 ERR("Could not get nsIScrollable: %08x\n", nsres);
2101 }
2102
2103 return S_OK;
2104}
#define E_FAIL
Definition: ddrawi.h:102
HINSTANCE hInst
Definition: dxdiag.c:13
#define S_OK
Definition: intsafe.h:52
#define NS_WEBBROWSER_CONTRACTID
Definition: nsembed.c:27
static void register_nscontainer_class(void)
Definition: nsembed.c:372
static ATOM nscontainer_class
Definition: nsembed.c:68
static const WCHAR wszNsContainer[]
Definition: nsembed.c:66
#define WS_CHILD
Definition: pedump.c:617
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#define WS_CLIPCHILDREN
Definition: pedump.c:619
nsIURIContentListener nsIURIContentListener_iface
nsIWebBrowser * webbrowser
nsIWebBrowserChrome nsIWebBrowserChrome_iface
nsIBaseWindow * window
nsIWebBrowserFocus * focus
nsIWebNavigation * navigation
HWND WINAPI GetDesktopWindow(void)
Definition: window.c:628
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)

Referenced by create_nscontainer().

◆ init_xpcom()

static BOOL init_xpcom ( const PRUnichar gre_path)
static

Definition at line 678 of file nsembed.c.

679{
680 nsIComponentRegistrar *registrar = NULL;
681 nsIFile *gre_dir;
682 WCHAR *ptr;
683 nsresult nsres;
684
685 nsres = create_nsfile(gre_path, &gre_dir);
686 if(NS_FAILED(nsres)) {
688 return FALSE;
689 }
690
691 nsres = NS_InitXPCOM2(&pServMgr, gre_dir, (nsIDirectoryServiceProvider*)&nsDirectoryServiceProvider2);
692 if(NS_FAILED(nsres)) {
693 ERR("NS_InitXPCOM2 failed: %08x\n", nsres);
695 return FALSE;
696 }
697
698 strcpyW(gecko_path, gre_path);
699 for(ptr = gecko_path; *ptr; ptr++) {
700 if(*ptr == '\\')
701 *ptr = '/';
702 }
704
705 nsres = nsIServiceManager_QueryInterface(pServMgr, &IID_nsIComponentManager, (void**)&pCompMgr);
706 if(NS_FAILED(nsres))
707 ERR("Could not get nsIComponentManager: %08x\n", nsres);
708
709 nsres = NS_GetComponentRegistrar(&registrar);
710 if(NS_SUCCEEDED(nsres))
711 init_nsio(pCompMgr, registrar);
712 else
713 ERR("NS_GetComponentRegistrar failed: %08x\n", nsres);
714
717
718 nsres = nsIServiceManager_GetServiceByContractID(pServMgr, NS_CATEGORYMANAGER_CONTRACTID,
719 &IID_nsICategoryManager, (void**)&cat_mgr);
720 if(NS_FAILED(nsres))
721 ERR("Could not get category manager service: %08x\n", nsres);
722
723 if(registrar) {
724 register_nsservice(registrar, pServMgr);
725 nsIComponentRegistrar_Release(registrar);
726 }
727
728 init_node_cc();
729
730 return TRUE;
731}
#define FreeLibrary(x)
Definition: compat.h:748
void init_node_cc(void)
Definition: htmlnode.c:1328
static PVOID ptr
Definition: dispmode.c:27
void register_nsservice(nsIComponentRegistrar *, nsIServiceManager *) DECLSPEC_HIDDEN
Definition: nsservice.c:372
void init_nsio(nsIComponentManager *, nsIComponentRegistrar *) DECLSPEC_HIDDEN
Definition: nsio.c:4048
static unsigned gecko_path_len
Definition: nsembed.c:70
static WCHAR gecko_path[MAX_PATH]
Definition: nsembed.c:69
static nsIDirectoryServiceProvider2 nsDirectoryServiceProvider2
Definition: nsembed.c:331
static void set_preferences(void)
Definition: nsembed.c:658
#define NS_CATEGORYMANAGER_CONTRACTID
Definition: nsembed.c:33

Referenced by load_gecko().

◆ install_wine_gecko()

static BOOL install_wine_gecko ( void  )
static

Definition at line 387 of file nsembed.c.

388{
391 WCHAR app[MAX_PATH];
392 WCHAR *args;
393 LONG len;
394 BOOL ret;
395
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};
399
400 len = GetSystemDirectoryW(app, MAX_PATH-sizeof(controlW)/sizeof(WCHAR));
401 memcpy(app+len, controlW, sizeof(controlW));
402
403 args = heap_alloc(len*sizeof(WCHAR) + sizeof(controlW) + sizeof(argsW));
404 if(!args)
405 return FALSE;
406
407 memcpy(args, app, len*sizeof(WCHAR) + sizeof(controlW));
408 memcpy(args + len + sizeof(controlW)/sizeof(WCHAR)-1, argsW, sizeof(argsW));
409
410 TRACE("starting %s\n", debugstr_w(args));
411
412 memset(&si, 0, sizeof(si));
413 si.cb = sizeof(si);
414 ret = CreateProcessW(app, args, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
416 if (ret) {
420 }
421
422 return ret;
423}
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
Definition: path.c:2232
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)
Definition: proc.c:4491
#define INFINITE
Definition: serial.h:102
unsigned int BOOL
Definition: ntddk_ex.h:94
GLenum GLsizei len
Definition: glext.h:6722
#define debugstr_w
Definition: kernel32.h:32
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static PROCESS_INFORMATION pi
Definition: debugger.c:2303
static SYSTEM_INFO si
Definition: virtual.c:39
long LONG
Definition: pedump.c:60
#define memset(x, y, z)
Definition: compat.h:39
#define args
Definition: format.c:66
Definition: match.c:390
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
Definition: synch.c:82

Referenced by load_gecko().

◆ is_gecko_path()

BOOL is_gecko_path ( const char path)

Definition at line 1138 of file nsembed.c.

1139{
1140 WCHAR *buf, *ptr;
1141 BOOL ret;
1142
1144 if(!buf || strlenW(buf) < gecko_path_len)
1145 return FALSE;
1146
1147 for(ptr = buf; *ptr; ptr++) {
1148 if(*ptr == '\\')
1149 *ptr = '/';
1150 }
1151
1153 buf[gecko_path_len] = 0;
1154
1156 heap_free(buf);
1157 return ret;
1158}
HRESULT WINAPI UrlUnescapeW(WCHAR *url, WCHAR *unescaped, DWORD *unescaped_len, DWORD flags)
Definition: path.c:2912
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
static WCHAR * heap_strdupUtoW(const char *str)
#define URL_UNESCAPE_INPLACE
Definition: shlwapi.h:525
#define strcmpiW(s1, s2)
Definition: unicode.h:39
#define strlenW(s)
Definition: unicode.h:28

Referenced by is_gecko_special_uri().

◆ load_gecko()

BOOL load_gecko ( void  )

Definition at line 742 of file nsembed.c.

743{
744 PRUnichar gre_path[MAX_PATH];
745 BOOL ret = FALSE;
746
747 static DWORD loading_thread;
748
749 TRACE("()\n");
750
751 /* load_gecko may be called recursively */
752 if(loading_thread == GetCurrentThreadId())
753 return pCompMgr != NULL;
754
756
757 if(!loading_thread) {
758 loading_thread = GetCurrentThreadId();
759
760#ifdef __REACTOS__
761 if(load_wine_gecko(gre_path))
762#else
763 if(load_wine_gecko(gre_path)
764 || (install_wine_gecko() && load_wine_gecko(gre_path)))
765#endif
766 ret = init_xpcom(gre_path);
767 else
768 MESSAGE("Could not load wine-gecko. HTML rendering will be disabled.\n");
769 }else {
770 ret = pCompMgr != NULL;
771 }
772
774
775 return ret;
776}
#define MESSAGE
Definition: options.h:86
static BOOL install_wine_gecko(void)
Definition: nsembed.c:387
static BOOL load_wine_gecko(PRUnichar *gre_path)
Definition: nsembed.c:583
static BOOL init_xpcom(const PRUnichar *gre_path)
Definition: nsembed.c:678
WCHAR PRUnichar
Definition: nsiface.idl:48
DWORD WINAPI GetCurrentThreadId(void)
Definition: thread.c:459
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)

Referenced by create_nscontainer(), and DllRegisterServer().

◆ load_wine_gecko()

static BOOL load_wine_gecko ( PRUnichar gre_path)
static

Definition at line 583 of file nsembed.c.

584{
585 HKEY hkey;
586 DWORD res;
587 BOOL ret;
588
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};
592
593 /* @@ Wine registry key: HKLM\Software\Wine\MSHTML */
594 res = RegOpenKeyW(HKEY_LOCAL_MACHINE, wszMshtmlKey, &hkey);
595 if(res != ERROR_SUCCESS)
596 return FALSE;
597
598 ret = load_wine_gecko_v(gre_path, hkey, GECKO_VERSION, GECKO_VERSION_STRING);
599
600 RegCloseKey(hkey);
601 return ret;
602}
#define RegCloseKey(hKey)
Definition: registry.h:49
#define GECKO_VERSION
Definition: nsiface.idl:28
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3268
GLuint res
Definition: glext.h:9613
static BOOL load_wine_gecko_v(PRUnichar *gre_path, HKEY mshtml_key, const char *version, const char *version_string)
Definition: nsembed.c:555
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

Referenced by load_gecko().

◆ load_wine_gecko_v()

static BOOL load_wine_gecko_v ( PRUnichar gre_path,
HKEY  mshtml_key,
const char version,
const char version_string 
)
static

Definition at line 555 of file nsembed.c.

557{
559 HKEY hkey = mshtml_key;
560
561 static const WCHAR wszGeckoPath[] =
562 {'G','e','c','k','o','P','a','t','h',0};
563
564 if(version) {
565 /* @@ Wine registry key: HKLM\Software\Wine\MSHTML<version> */
566 res = RegOpenKeyA(mshtml_key, version, &hkey);
567 if(res != ERROR_SUCCESS)
568 return FALSE;
569 }
570
571 res = RegQueryValueExW(hkey, wszGeckoPath, NULL, &type, (LPBYTE)gre_path, &size);
572 if(hkey != mshtml_key)
573 RegCloseKey(hkey);
574 if(res != ERROR_SUCCESS || type != REG_SZ)
575 return FALSE;
576
577 if(!check_version(gre_path, version_string))
578 return FALSE;
579
580 return load_xul(gre_path);
581}
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3234
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4103
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLsizeiptr size
Definition: glext.h:5919
#define REG_SZ
Definition: layer.c:22
static BOOL load_xul(const PRUnichar *gre_path)
Definition: nsembed.c:472
static BOOL check_version(LPCWSTR gre_path, const char *version_string)
Definition: nsembed.c:521
unsigned char * LPBYTE
Definition: typedefs.h:53

Referenced by load_wine_gecko().

◆ load_xul()

static BOOL load_xul ( const PRUnichar gre_path)
static

Definition at line 472 of file nsembed.c.

473{
474 static const WCHAR xul_dllW[] = {'\\','x','u','l','.','d','l','l',0};
476
477 strcpyW(file_name, gre_path);
478 strcatW(file_name, xul_dllW);
479
480 TRACE("(%s)\n", debugstr_w(file_name));
481
482 set_environment(gre_path);
483
485 if(!xul_handle) {
486 WARN("Could not load XUL: %d\n", GetLastError());
487 return FALSE;
488 }
489
490#define NS_DLSYM(func) \
491 func = (void *)GetProcAddress(xul_handle, #func); \
492 if(!func) \
493 ERR("Could not GetProcAddress(" #func ") failed\n")
494
495 NS_DLSYM(NS_InitXPCOM2);
496 NS_DLSYM(NS_ShutdownXPCOM);
497 NS_DLSYM(NS_GetComponentRegistrar);
498 NS_DLSYM(NS_StringContainerInit2);
499 NS_DLSYM(NS_CStringContainerInit2);
500 NS_DLSYM(NS_StringContainerFinish);
501 NS_DLSYM(NS_CStringContainerFinish);
502 NS_DLSYM(NS_StringSetData);
503 NS_DLSYM(NS_CStringSetData);
504 NS_DLSYM(NS_NewLocalFile);
505 NS_DLSYM(NS_StringGetData);
506 NS_DLSYM(NS_CStringGetData);
508 NS_DLSYM(NS_Free);
509 NS_DLSYM(ccref_incr);
510 NS_DLSYM(ccref_decr);
511 NS_DLSYM(ccref_init);
512 NS_DLSYM(ccp_init);
513 NS_DLSYM(describe_cc_node);
514 NS_DLSYM(note_cc_edge);
515
516#undef NS_DLSYM
517
518 return TRUE;
519}
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
Definition: loader.c:288
static nsIFile **static const PRUnichar cpp_bool *static const char cpp_bool *static void *CDECL * NS_Alloc(SIZE_T)
static void set_environment(LPCWSTR gre_path)
Definition: nsembed.c:426
#define NS_DLSYM(func)
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define LOAD_WITH_ALTERED_SEARCH_PATH
Definition: winbase.h:340

Referenced by load_wine_gecko_v().

◆ map_nsresult()

HRESULT map_nsresult ( nsresult  nsres)

Definition at line 841 of file nsembed.c.

842{
843 switch(nsres) {
844 case NS_OK:
845 return S_OK;
847 return E_OUTOFMEMORY;
849 return E_NOTIMPL;
850 case NS_NOINTERFACE:
851 return E_NOINTERFACE;
853 return E_POINTER;
855 return E_INVALIDARG;
857 return E_UNEXPECTED;
858#ifndef __REACTOS__
859 /* FIXME: These are not yet defined for ReactOS */
860 case NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR:
861 return 0x80700007; /* according to tests */
862 case NS_ERROR_DOM_SYNTAX_ERR:
863 return E_INVALIDARG; /* FIXME: Throw SyntaxError for IE9+ modes */
864#endif
866 return E_ABORT;
867 }
868 return E_FAIL;
869}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NS_ERROR_INVALID_ARG
#define NS_ERROR_NOT_IMPLEMENTED
#define NS_NOINTERFACE
#define NS_ERROR_OUT_OF_MEMORY
#define NS_BINDING_ABORTED
#define NS_ERROR_INVALID_POINTER
#define NS_ERROR_UNEXPECTED
#define E_NOINTERFACE
Definition: winerror.h:3479
#define E_UNEXPECTED
Definition: winerror.h:3528
#define E_POINTER
Definition: winerror.h:3480
#define E_ABORT
Definition: winerror.h:3481

Referenced by read_stream_data().

◆ NS_Alloc()

static nsIFile **static const PRUnichar cpp_bool *static const char cpp_bool *static void *CDECL * NS_Alloc ( SIZE_T  )
static

Referenced by load_xul(), and nsalloc().

◆ nsACString_Finish()

void nsACString_Finish ( nsACString str)

◆ nsACString_GetData()

◆ nsACString_Init()

BOOL nsACString_Init ( nsACString str,
const char data 
)

◆ nsACString_InitDepend()

void nsACString_InitDepend ( nsACString str,
const char data 
)

Definition at line 797 of file nsembed.c.

798{
799 NS_CStringContainerInit2(str, data, PR_UINT32_MAX, NS_CSTRING_CONTAINER_INIT_DEPEND);
800}
#define NS_CSTRING_CONTAINER_INIT_DEPEND
Definition: nsembed.c:40

Referenced by HTMLXMLHttpRequest_getResponseHeader(), parse_content_type(), and visit_http_headers().

◆ nsACString_SetData()

◆ nsalloc()

void * nsalloc ( size_t  size)

Definition at line 778 of file nsembed.c.

779{
780 return NS_Alloc(size);
781}

Referenced by nsTooltipTextProvider_GetNodeText().

◆ nsAString_Finish()

void nsAString_Finish ( nsAString str)

Definition at line 836 of file nsembed.c.

837{
838 NS_StringContainerFinish(str);
839}

Referenced by bind_event_scripts(), check_codebase(), check_event_attr(), check_style_attr_value(), create_nselem(), create_nsfile(), detach_nslistener(), detach_xhr_event_listener(), dispid_from_elem_name(), document_write(), elem_string_attr_getter(), elem_string_attr_setter(), exec_hyperlink(), fill_props(), find_event_target(), get_doc_elem_by_id(), get_doc_string(), get_document_charset(), get_elem_attr_value(), get_elem_clsid(), get_font_size(), get_frame_by_name(), get_nsstyle_attr(), get_nsstyle_attr_nsval(), get_nsstyle_attr_var(), get_nsstyle_pixel_val(), get_nsstyle_pos(), get_script_guid(), handle_htmlevent(), handle_link_click_event(), HTMLAnchorElement_get_href(), HTMLAnchorElement_handle_event(), HTMLAnchorElement_put_href(), HTMLAnchorElement_put_name(), HTMLAnchorElement_put_rel(), HTMLAnchorElement_put_search(), HTMLAnchorElement_put_target(), HTMLAreaElement_handle_event(), HTMLBodyElement_get_bgColor(), HTMLBodyElement_get_text(), HTMLBodyElement_put_aLink(), HTMLBodyElement_put_background(), HTMLBodyElement_put_bgColor(), HTMLBodyElement_put_link(), HTMLBodyElement_put_text(), HTMLBodyElement_put_vLink(), HTMLButtonElement_put_name(), HTMLCurrentStyle_Create(), HTMLDocument3_createTextNode(), HTMLDocument3_getElementsByName(), HTMLDocument3_getElementsByTagName(), HTMLDocument5_createComment(), HTMLDocument_get_title(), HTMLDocument_put_title(), HTMLDocumentNode_invoke(), HTMLDOMAttribute_get_specified(), HTMLDOMNode_get_nodeValue(), HTMLDOMNode_put_nodeValue(), HTMLDOMTextNode2_appendData(), HTMLDOMTextNode_put_data(), HTMLElement2_getElementsByTagName(), HTMLElement2_put_dir(), HTMLElement3_put_contentEditable(), HTMLElement_Create(), HTMLElement_get_outerHTML(), HTMLElement_insertAdjacentHTML(), HTMLElement_insertAdjacentText(), HTMLElement_populate_props(), HTMLElement_put_className(), HTMLElement_put_id(), HTMLElement_put_innerHTML(), HTMLElement_put_innerText(), HTMLElement_put_title(), HTMLElementCollection_tags(), HTMLFormElement_get_action(), HTMLFormElement_get_dispid(), HTMLFormElement_put_action(), HTMLFormElement_put_encoding(), HTMLFormElement_put_method(), HTMLFormElement_put_name(), HTMLFormElement_put_target(), HTMLFormElement_submit(), HTMLFrameBase_get_marginHeight(), HTMLFrameBase_get_marginWidth(), HTMLFrameBase_get_scrolling(), HTMLFrameBase_put_frameBorder(), HTMLFrameBase_put_marginHeight(), HTMLFrameBase_put_marginWidth(), HTMLFrameBase_put_name(), HTMLFrameBase_put_scrolling(), HTMLFrameBase_put_src(), HTMLIFrameElement2_put_height(), HTMLIFrameElement2_put_width(), HTMLImgElement_get_src(), HTMLImgElement_put_align(), HTMLImgElement_put_alt(), HTMLImgElement_put_src(), HTMLInputElement_get_src(), HTMLInputElement_is_text_edit(), HTMLInputElement_put_defaultValue(), HTMLInputElement_put_name(), HTMLInputElement_put_src(), HTMLInputElement_put_type(), HTMLInputElement_put_value(), HTMLLabelElement_put_htmlFor(), HTMLLinkElement_put_href(), HTMLLinkElement_put_media(), HTMLLinkElement_put_rel(), HTMLLinkElement_put_rev(), HTMLLinkElement_put_type(), HTMLObjectElement_get_height(), HTMLObjectElement_get_width(), HTMLObjectElement_put_height(), HTMLObjectElement_put_name(), HTMLObjectElement_put_width(), HTMLOptionElement_put_text(), HTMLOptionElement_put_value(), HTMLScriptElement_put_src(), HTMLScriptElement_put_text(), HTMLScriptElement_put_type(), HTMLSelectElement_put_name(), HTMLSelectElement_put_value(), HTMLStyle_get_backgroundPositionX(), HTMLStyle_get_backgroundPositionY(), HTMLStyle_get_cssText(), HTMLStyle_put_backgroundPositionX(), HTMLStyle_put_backgroundPositionY(), HTMLStyle_put_cssText(), HTMLStyle_removeAttribute(), HTMLStyleElement_put_media(), HTMLStyleElement_put_type(), HTMLStyleSheet_put_cssText(), HTMLTable3_put_summary(), HTMLTable_get_bgColor(), HTMLTable_get_width(), HTMLTable_put_align(), HTMLTable_put_bgColor(), HTMLTable_put_cellPadding(), HTMLTable_put_cellSpacing(), HTMLTable_put_frame(), HTMLTable_put_width(), HTMLTableCell_get_bgColor(), HTMLTableCell_put_align(), HTMLTableCell_put_bgColor(), HTMLTableRow_get_bgColor(), HTMLTableRow_put_align(), HTMLTableRow_put_bgColor(), HTMLTableRow_put_vAlign(), HTMLTextAreaElement_put_defaultValue(), HTMLTextAreaElement_put_value(), HTMLTxtRange_get_htmlText(), HTMLTxtRange_pasteHTML(), HTMLTxtRange_put_text(), HTMLWindow2_put_name(), HTMLXMLHttpRequest_bind_event(), HTMLXMLHttpRequest_open(), init_event(), is_elem_name(), is_elem_tag(), move_next_char(), move_prev_char(), navigate_fragment(), nsTooltipTextProvider_GetNodeText(), parse_event_elem(), parse_inline_script(), parse_script_elem(), query_align_status(), range_to_string(), remove_child_attr(), replace_node_by_html(), return_nscolor(), return_nsstr(), run_insert_comment(), set_event_info(), set_font_size(), set_nsstyle_attr(), set_opacity(), update_window_doc(), and wstrbuf_append_node().

◆ nsAString_GetData()

UINT32 nsAString_GetData ( const nsAString str,
const PRUnichar **  data 
)

Definition at line 831 of file nsembed.c.

832{
833 return NS_StringGetData(str, data, NULL);
834}

Referenced by check_style_attr_value(), find_event_target(), get_doc_string(), get_document_charset(), get_elem_attr_value(), get_font_size(), get_nsstyle_attr(), get_nsstyle_attr_var(), get_nsstyle_pixel_val(), get_nsstyle_pos(), get_script_guid(), get_target_window(), get_text_node_data(), handle_htmlevent(), HTMLAnchorElement_get_href(), HTMLBodyElement_get_bgColor(), HTMLBodyElement_get_text(), HTMLDocument_get_title(), HTMLDOMNode_get_nodeValue(), HTMLElement_Create(), HTMLElement_get_outerHTML(), HTMLElement_populate_props(), HTMLElementCollection_tags(), HTMLFormElement_get_action(), HTMLFormElement_get_dispid(), HTMLFormElement_submit(), HTMLFrameBase_get_marginHeight(), HTMLFrameBase_get_marginWidth(), HTMLFrameBase_get_scrolling(), HTMLImgElement_get_src(), HTMLInputElement_get_src(), HTMLInputElement_is_text_edit(), HTMLObjectElement_get_height(), HTMLObjectElement_get_width(), HTMLStyle_get_backgroundPositionX(), HTMLStyle_get_backgroundPositionY(), HTMLStyle_get_cssText(), HTMLStyle_put_backgroundPositionX(), HTMLStyle_put_backgroundPositionY(), HTMLStyle_removeAttribute(), HTMLTable_get_bgColor(), HTMLTableCell_get_bgColor(), HTMLTableRow_get_bgColor(), HTMLTxtRange_get_htmlText(), is_elem_name(), is_elem_tag(), navigate_href(), navigate_href_new_window(), nsstr_to_truncated_bstr(), nsTooltipTextProvider_GetNodeText(), parse_event_elem(), parse_inline_script(), parse_script_elem(), remove_child_attr(), return_nscolor(), return_nsstr(), run_insert_comment(), and wstrbuf_append_node().

◆ nsAString_Init()

BOOL nsAString_Init ( nsAString str,
const PRUnichar data 
)

Definition at line 817 of file nsembed.c.

818{
819 return NS_SUCCEEDED(NS_StringContainerInit2(str, data, PR_UINT32_MAX, 0));
820}

Referenced by check_style_attr_value(), find_event_target(), get_doc_string(), get_document_charset(), get_elem_attr_value(), get_font_size(), get_nsstyle_attr(), get_nsstyle_attr_var(), get_nsstyle_pixel_val(), get_nsstyle_pos(), get_script_guid(), get_text_node_data(), handle_htmlevent(), HTMLAnchorElement_get_hash(), HTMLAnchorElement_get_hostname(), HTMLAnchorElement_get_href(), HTMLAnchorElement_get_name(), HTMLAnchorElement_get_rel(), HTMLAnchorElement_get_search(), HTMLAnchorElement_get_target(), HTMLAnchorElement_handle_event(), HTMLAreaElement_handle_event(), HTMLBodyElement_get_aLink(), HTMLBodyElement_get_background(), HTMLBodyElement_get_bgColor(), HTMLBodyElement_get_link(), HTMLBodyElement_get_text(), HTMLBodyElement_get_vLink(), HTMLButtonElement_get_name(), HTMLCurrentStyle_Create(), HTMLDocument5_get_compatMode(), HTMLDocument_get_charset(), HTMLDocument_get_title(), HTMLDOMNode_get_nodeName(), HTMLDOMNode_get_nodeValue(), HTMLDOMTextNode_get_data(), HTMLElement2_get_dir(), HTMLElement3_get_contentEditable(), HTMLElement_Create(), HTMLElement_get_className(), HTMLElement_get_id(), HTMLElement_get_innerHTML(), HTMLElement_get_outerHTML(), HTMLElement_get_tagName(), HTMLElement_get_title(), HTMLElement_populate_props(), HTMLElementCollection_tags(), HTMLFormElement_get_action(), HTMLFormElement_get_dispid(), HTMLFormElement_get_encoding(), HTMLFormElement_get_method(), HTMLFormElement_get_name(), HTMLFormElement_get_target(), HTMLFormElement_submit(), HTMLFrameBase_get_frameBorder(), HTMLFrameBase_get_marginHeight(), HTMLFrameBase_get_marginWidth(), HTMLFrameBase_get_name(), HTMLFrameBase_get_scrolling(), HTMLFrameBase_get_src(), HTMLIFrameElement2_get_height(), HTMLIFrameElement2_get_width(), HTMLImgElement_get_align(), HTMLImgElement_get_alt(), HTMLImgElement_get_name(), HTMLImgElement_get_src(), HTMLInputElement_get_defaultValue(), HTMLInputElement_get_name(), HTMLInputElement_get_src(), HTMLInputElement_get_type(), HTMLInputElement_get_value(), HTMLInputElement_is_text_edit(), HTMLLinkElement_get_href(), HTMLLinkElement_get_media(), HTMLLinkElement_get_rel(), HTMLLinkElement_get_rev(), HTMLLinkElement_get_type(), HTMLObjectElement_get_height(), HTMLObjectElement_get_name(), HTMLObjectElement_get_width(), HTMLOptionElement_get_text(), HTMLOptionElement_get_value(), HTMLScriptElement_get_src(), HTMLScriptElement_get_text(), HTMLScriptElement_get_type(), HTMLScriptElement_put_type(), HTMLSelectElement_get_name(), HTMLSelectElement_get_type(), HTMLSelectElement_get_value(), HTMLStyle_get_backgroundPositionX(), HTMLStyle_get_backgroundPositionY(), HTMLStyle_get_cssText(), HTMLStyle_put_backgroundPositionX(), HTMLStyle_put_backgroundPositionY(), HTMLStyle_removeAttribute(), HTMLStyleElement_get_media(), HTMLStyleElement_get_type(), HTMLStyleSheet_get_cssText(), HTMLStyleSheet_get_href(), HTMLTable3_get_summary(), HTMLTable_get_align(), HTMLTable_get_bgColor(), HTMLTable_get_cellPadding(), HTMLTable_get_cellSpacing(), HTMLTable_get_frame(), HTMLTable_get_width(), HTMLTableCell_get_align(), HTMLTableCell_get_bgColor(), HTMLTableRow_get_align(), HTMLTableRow_get_bgColor(), HTMLTableRow_get_vAlign(), HTMLTextAreaElement_get_defaultValue(), HTMLTextAreaElement_get_name(), HTMLTextAreaElement_get_value(), HTMLTxtRange_get_htmlText(), HTMLWindow2_get_name(), HTMLXMLHttpRequest_get_responseText(), is_elem_name(), is_elem_tag(), nsTooltipTextProvider_GetNodeText(), parse_event_elem(), parse_inline_script(), parse_script_elem(), query_align_status(), remove_child_attr(), run_insert_comment(), var2str(), variant_to_nsastr(), variant_to_nscolor(), and wstrbuf_append_node().

◆ nsAString_InitDepend()

void nsAString_InitDepend ( nsAString str,
const PRUnichar data 
)

Definition at line 826 of file nsembed.c.

827{
828 NS_StringContainerInit2(str, data, PR_UINT32_MAX, NS_STRING_CONTAINER_INIT_DEPEND);
829}
#define NS_STRING_CONTAINER_INIT_DEPEND
Definition: nsembed.c:39

Referenced by bind_event_scripts(), create_nselem(), create_nsfile(), detach_nslistener(), detach_xhr_event_listener(), dispid_from_elem_name(), document_write(), elem_string_attr_setter(), exec_hyperlink(), fill_props(), get_doc_elem_by_id(), get_elem_attr_value(), get_frame_by_name(), get_nsstyle_attr_nsval(), HTMLAnchorElement_put_href(), HTMLAnchorElement_put_name(), HTMLAnchorElement_put_rel(), HTMLAnchorElement_put_search(), HTMLAnchorElement_put_target(), HTMLBodyElement_put_background(), HTMLButtonElement_put_name(), HTMLDocument3_createTextNode(), HTMLDocument3_getElementsByName(), HTMLDocument3_getElementsByTagName(), HTMLDocument5_createComment(), HTMLDocument_put_title(), HTMLDocumentNode_invoke(), HTMLDOMAttribute_get_specified(), HTMLDOMNode_put_nodeValue(), HTMLDOMTextNode2_appendData(), HTMLDOMTextNode_put_data(), HTMLElement2_getElementsByTagName(), HTMLElement2_put_dir(), HTMLElement3_put_contentEditable(), HTMLElement_insertAdjacentHTML(), HTMLElement_insertAdjacentText(), HTMLElement_put_className(), HTMLElement_put_id(), HTMLElement_put_innerHTML(), HTMLElement_put_innerText(), HTMLElement_put_title(), HTMLFormElement_put_action(), HTMLFormElement_put_encoding(), HTMLFormElement_put_method(), HTMLFormElement_put_name(), HTMLFormElement_put_target(), HTMLFrameBase_put_frameBorder(), HTMLFrameBase_put_marginHeight(), HTMLFrameBase_put_marginWidth(), HTMLFrameBase_put_name(), HTMLFrameBase_put_scrolling(), HTMLFrameBase_put_src(), HTMLIFrameElement2_put_height(), HTMLIFrameElement2_put_width(), HTMLImgElement_put_align(), HTMLImgElement_put_alt(), HTMLImgElement_put_src(), HTMLInputElement_put_defaultValue(), HTMLInputElement_put_name(), HTMLInputElement_put_src(), HTMLInputElement_put_type(), HTMLInputElement_put_value(), HTMLLabelElement_put_htmlFor(), HTMLLinkElement_put_href(), HTMLLinkElement_put_media(), HTMLLinkElement_put_rel(), HTMLLinkElement_put_rev(), HTMLLinkElement_put_type(), HTMLObjectElement_put_height(), HTMLObjectElement_put_name(), HTMLObjectElement_put_width(), HTMLOptionElement_put_text(), HTMLOptionElement_put_value(), HTMLScriptElement_put_src(), HTMLScriptElement_put_text(), HTMLSelectElement_put_name(), HTMLSelectElement_put_value(), HTMLStyle_put_cssText(), HTMLStyle_removeAttribute(), HTMLStyleElement_put_media(), HTMLStyleElement_put_type(), HTMLStyleSheet_put_cssText(), HTMLTable3_put_summary(), HTMLTable_put_align(), HTMLTable_put_cellSpacing(), HTMLTable_put_frame(), HTMLTableCell_put_align(), HTMLTableRow_put_align(), HTMLTableRow_put_vAlign(), HTMLTextAreaElement_put_defaultValue(), HTMLTextAreaElement_put_value(), HTMLTxtRange_pasteHTML(), HTMLTxtRange_put_text(), HTMLWindow2_put_name(), HTMLXMLHttpRequest_bind_event(), init_event(), navigate_fragment(), replace_node_by_html(), set_event_info(), set_font_size(), set_nsstyle_attr(), set_opacity(), update_window_doc(), and variant_to_nsastr().

◆ NSContainer_Release()

void NSContainer_Release ( NSContainer This)

Definition at line 2137 of file nsembed.c.

2138{
2139 TRACE("(%p)\n", This);
2140
2141 This->doc = NULL;
2142
2143 ShowWindow(This->hwnd, SW_HIDE);
2144 SetParent(This->hwnd, NULL);
2145
2146 nsIBaseWindow_SetVisibility(This->window, FALSE);
2147 nsIBaseWindow_Destroy(This->window);
2148
2149 nsIWebBrowser_SetContainerWindow(This->webbrowser, NULL);
2150
2151 nsIWebBrowser_Release(This->webbrowser);
2152 This->webbrowser = NULL;
2153
2154 nsIWebNavigation_Release(This->navigation);
2155 This->navigation = NULL;
2156
2157 nsIBaseWindow_Release(This->window);
2158 This->window = NULL;
2159
2160 nsIWebBrowserFocus_Release(This->focus);
2161 This->focus = NULL;
2162
2163 if(This->editor_controller) {
2164 nsIController_Release(This->editor_controller);
2165 This->editor_controller = NULL;
2166 }
2167
2168 if(This->editor) {
2169 nsIEditor_Release(This->editor);
2170 This->editor = NULL;
2171 }
2172
2173 if(This->content_listener) {
2174 nsIURIContentListener_Release(This->content_listener);
2175 This->content_listener = NULL;
2176 }
2177
2178 if(This->hwnd) {
2179 DestroyWindow(This->hwnd);
2180 This->hwnd = NULL;
2181 }
2182
2183 nsIWebBrowserChrome_Release(&This->nsIWebBrowserChrome_iface);
2184}
#define SW_HIDE
Definition: winuser.h:779
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)

Referenced by CustomDoc_Release().

◆ nsContextMenuListener_AddRef()

static nsrefcnt NSAPI nsContextMenuListener_AddRef ( nsIContextMenuListener iface)
static

Definition at line 1461 of file nsembed.c.

1462{
1464 return nsIWebBrowserChrome_AddRef(&This->nsIWebBrowserChrome_iface);
1465}
static NSContainer * impl_from_nsIContextMenuListener(nsIContextMenuListener *iface)
Definition: nsembed.c:1449

◆ nsContextMenuListener_OnShowContextMenu()

static nsresult NSAPI nsContextMenuListener_OnShowContextMenu ( nsIContextMenuListener iface,
UINT32  aContextFlags,
nsIDOMEvent aEvent,
nsIDOMNode aNode 
)
static

Definition at line 1473 of file nsembed.c.

1475{
1479 POINT pt;
1480 DWORD dwID = CONTEXT_MENU_DEFAULT;
1481 nsresult nsres;
1482 HRESULT hres;
1483
1484 TRACE("(%p)->(%08x %p %p)\n", This, aContextFlags, aEvent, aNode);
1485
1486 fire_event(This->doc->basedoc.doc_node /* FIXME */, EVENTID_CONTEXTMENU, TRUE, aNode, aEvent, NULL);
1487
1488 nsres = nsIDOMEvent_QueryInterface(aEvent, &IID_nsIDOMMouseEvent, (void**)&event);
1489 if(NS_FAILED(nsres)) {
1490 ERR("Could not get nsIDOMMouseEvent interface: %08x\n", nsres);
1491 return nsres;
1492 }
1493
1494 nsIDOMMouseEvent_GetScreenX(event, &pt.x);
1495 nsIDOMMouseEvent_GetScreenY(event, &pt.y);
1496 nsIDOMMouseEvent_Release(event);
1497
1498 switch(aContextFlags) {
1499 case CONTEXT_NONE:
1500 case CONTEXT_DOCUMENT:
1501 case CONTEXT_TEXT: {
1503
1504 nsres = nsIDOMHTMLDocument_GetSelection(This->doc->basedoc.doc_node->nsdoc, &selection);
1505 if(NS_SUCCEEDED(nsres) && selection) {
1506 cpp_bool is_collapsed;
1507
1508 /* FIXME: Check if the click was inside selection. */
1509 nsres = nsISelection_GetIsCollapsed(selection, &is_collapsed);
1510 nsISelection_Release(selection);
1511 if(NS_SUCCEEDED(nsres) && !is_collapsed)
1512 dwID = CONTEXT_MENU_TEXTSELECT;
1513 }
1514 break;
1515 }
1516 case CONTEXT_IMAGE:
1517 case CONTEXT_IMAGE|CONTEXT_LINK:
1518 dwID = CONTEXT_MENU_IMAGE;
1519 break;
1520 case CONTEXT_LINK:
1521 dwID = CONTEXT_MENU_ANCHOR;
1522 break;
1523 case CONTEXT_INPUT:
1524 dwID = CONTEXT_MENU_CONTROL;
1525 break;
1526 default:
1527 FIXME("aContextFlags=%08x\n", aContextFlags);
1528 };
1529
1530 hres = get_node(This->doc->basedoc.doc_node, aNode, TRUE, &node);
1531 if(FAILED(hres))
1532 return NS_ERROR_FAILURE;
1533
1534 show_context_menu(This->doc, dwID, &pt, (IDispatch*)&node->IHTMLDOMNode_iface);
1536 return NS_OK;
1537}
#define FIXME(fmt,...)
Definition: precomp.h:53
int selection
Definition: ctm.c:92
#define pt(x, y)
Definition: drawing.c:79
struct _cl_event * event
Definition: glext.h:7739
void fire_event(HTMLDocumentNode *doc, eventid_t eid, BOOL set_event, nsIDOMNode *target, nsIDOMEvent *nsevent, IDispatch *script_this)
Definition: htmlevent.c:1195
@ EVENTID_CONTEXTMENU
Definition: htmlevent.h:27
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
Definition: htmlnode.c:1339
static void node_release(HTMLDOMNode *node)
void show_context_menu(HTMLDocumentObj *, DWORD, POINT *, IDispatch *) DECLSPEC_HIDDEN
Definition: olecmd.c:936
Definition: dlist.c:348

◆ nsContextMenuListener_QueryInterface()

static nsresult NSAPI nsContextMenuListener_QueryInterface ( nsIContextMenuListener iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1454 of file nsembed.c.

1456{
1458 return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result);
1459}
GLuint64EXT * result
Definition: glext.h:11304

◆ nsContextMenuListener_Release()

static nsrefcnt NSAPI nsContextMenuListener_Release ( nsIContextMenuListener iface)
static

Definition at line 1467 of file nsembed.c.

1468{
1470 return nsIWebBrowserChrome_Release(&This->nsIWebBrowserChrome_iface);
1471}

◆ nsDirectoryServiceProvider2_AddRef()

static nsrefcnt NSAPI nsDirectoryServiceProvider2_AddRef ( nsIDirectoryServiceProvider2 iface)
static

Definition at line 214 of file nsembed.c.

215{
216 return 2;
217}

◆ nsDirectoryServiceProvider2_GetFile()

static nsresult NSAPI nsDirectoryServiceProvider2_GetFile ( nsIDirectoryServiceProvider2 iface,
const char prop,
cpp_bool persistent,
nsIFile **  _retval 
)
static

Definition at line 259 of file nsembed.c.

261{
262 TRACE("(%s %p %p)\n", debugstr_a(prop), persistent, _retval);
263
264 if(!strcmp(prop, "ProfD")) {
265 if(!profile_directory) {
266 nsresult nsres;
267
268 nsres = create_profile_directory();
269 if(NS_FAILED(nsres))
270 return nsres;
271 }
272
274 return nsIFile_Clone(profile_directory, _retval);
275 }
276
277 *_retval = NULL;
278 return NS_ERROR_FAILURE;
279}
static nsresult create_profile_directory(void)
Definition: nsembed.c:224

◆ nsDirectoryServiceProvider2_GetFiles()

static nsresult NSAPI nsDirectoryServiceProvider2_GetFiles ( nsIDirectoryServiceProvider2 iface,
const char prop,
nsISimpleEnumerator **  _retval 
)
static

Definition at line 281 of file nsembed.c.

283{
284 TRACE("(%s %p)\n", debugstr_a(prop), _retval);
285
286 if(!strcmp(prop, "APluginsDL")) {
287 WCHAR plugin_path[MAX_PATH];
288 nsIFile *file;
289 int len;
290 nsresult nsres;
291
292 if(!plugin_directory) {
293 static const WCHAR gecko_pluginW[] = {'\\','g','e','c','k','o','\\','p','l','u','g','i','n',0};
294
295 len = GetSystemDirectoryW(plugin_path, (sizeof(plugin_path)-sizeof(gecko_pluginW))/sizeof(WCHAR)+1);
296 if(!len)
297 return NS_ERROR_UNEXPECTED;
298
299 strcpyW(plugin_path+len, gecko_pluginW);
300 nsres = create_nsfile(plugin_path, &plugin_directory);
301 if(NS_FAILED(nsres)) {
302 *_retval = NULL;
303 return nsres;
304 }
305 }
306
307 nsres = nsIFile_Clone(plugin_directory, &file);
308 if(NS_FAILED(nsres))
309 return nsres;
310
312 nsIFile_Release(file);
313 if(!*_retval)
315
316 return NS_OK;
317 }
318
319 *_retval = NULL;
320 return NS_ERROR_FAILURE;
321}
static nsISimpleEnumerator * create_singleton_enumerator(nsISupports *value)
Definition: nsembed.c:175
Definition: fci.c:123

◆ nsDirectoryServiceProvider2_QueryInterface()

static nsresult NSAPI nsDirectoryServiceProvider2_QueryInterface ( nsIDirectoryServiceProvider2 iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 192 of file nsembed.c.

194{
195 if(IsEqualGUID(&IID_nsISupports, riid)) {
196 TRACE("(IID_nsISupports %p)\n", result);
197 *result = iface;
198 }else if(IsEqualGUID(&IID_nsIDirectoryServiceProvider, riid)) {
199 TRACE("(IID_nsIDirectoryServiceProvider %p)\n", result);
200 *result = iface;
201 }else if(IsEqualGUID(&IID_nsIDirectoryServiceProvider2, riid)) {
202 TRACE("(IID_nsIDirectoryServiceProvider2 %p)\n", result);
203 *result = iface;
204 }else {
205 WARN("(%s %p)\n", debugstr_guid(riid), result);
206 *result = NULL;
207 return NS_NOINTERFACE;
208 }
209
210 nsISupports_AddRef((nsISupports*)*result);
211 return NS_OK;
212}
#define debugstr_guid
Definition: kernel32.h:35
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147

◆ nsDirectoryServiceProvider2_Release()

static nsrefcnt NSAPI nsDirectoryServiceProvider2_Release ( nsIDirectoryServiceProvider2 iface)
static

Definition at line 219 of file nsembed.c.

220{
221 return 1;
222}

◆ nsembed_proc()

static LRESULT WINAPI nsembed_proc ( HWND  hwnd,
UINT  msg,
WPARAM  wParam,
LPARAM  lParam 
)
static

Definition at line 334 of file nsembed.c.

335{
337 nsresult nsres;
338
339 static const WCHAR wszTHIS[] = {'T','H','I','S',0};
340
341 if(msg == WM_CREATE) {
342 This = *(NSContainer**)lParam;
343 SetPropW(hwnd, wszTHIS, This);
344 }else {
345 This = GetPropW(hwnd, wszTHIS);
346 }
347
348 switch(msg) {
349 case WM_SIZE:
350 TRACE("(%p)->(WM_SIZE)\n", This);
351
352 nsres = nsIBaseWindow_SetSize(This->window,
354 if(NS_FAILED(nsres))
355 WARN("SetSize failed: %08x\n", nsres);
356 break;
357
358 case WM_PARENTNOTIFY:
359 TRACE("WM_PARENTNOTIFY %x\n", (unsigned)wParam);
360
361 switch(wParam) {
362 case WM_LBUTTONDOWN:
363 case WM_RBUTTONDOWN:
364 nsIWebBrowserFocus_Activate(This->focus);
365 }
366 }
367
369}
#define msg(x)
Definition: auth_time.c:54
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
#define HIWORD(l)
Definition: typedefs.h:247
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_CREATE
Definition: winuser.h:1636
#define WM_SIZE
Definition: winuser.h:1639
#define WM_LBUTTONDOWN
Definition: winuser.h:1804
#define WM_RBUTTONDOWN
Definition: winuser.h:1807
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
#define WM_PARENTNOTIFY
Definition: winuser.h:1831

Referenced by register_nscontainer_class().

◆ nsEmbeddingSiteWindow_AddRef()

static nsrefcnt NSAPI nsEmbeddingSiteWindow_AddRef ( nsIEmbeddingSiteWindow iface)
static

Definition at line 1733 of file nsembed.c.

1734{
1736 return nsIWebBrowserChrome_AddRef(&This->nsIWebBrowserChrome_iface);
1737}
static NSContainer * impl_from_nsIEmbeddingSiteWindow(nsIEmbeddingSiteWindow *iface)
Definition: nsembed.c:1721

◆ nsEmbeddingSiteWindow_GetDimensions()

static nsresult NSAPI nsEmbeddingSiteWindow_GetDimensions ( nsIEmbeddingSiteWindow iface,
UINT32  flags,
LONG x,
LONG y,
LONG cx,
LONG cy 
)
static

Definition at line 1753 of file nsembed.c.

1755{
1757 RECT r;
1758
1759 TRACE("(%p)->(%x %p %p %p %p)\n", This, flags, x, y, cx, cy);
1760
1761 if(!GetWindowRect(This->hwnd, &r)) {
1762 ERR("GetWindowRect failed\n");
1763 return NS_ERROR_FAILURE;
1764 }
1765
1766 if(x)
1767 *x = r.left;
1768 if(y)
1769 *y = r.top;
1770 if(cx)
1771 *cx = r.right-r.left;
1772 if(cy)
1773 *cy = r.bottom-r.top;
1774 return NS_OK;
1775}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLbitfield flags
Definition: glext.h:7161
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:586
_Out_opt_ int * cx
Definition: commctrl.h:585
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)

◆ nsEmbeddingSiteWindow_GetSiteWindow()

static nsresult NSAPI nsEmbeddingSiteWindow_GetSiteWindow ( nsIEmbeddingSiteWindow iface,
void **  aSiteWindow 
)
static

Definition at line 1823 of file nsembed.c.

1825{
1827
1828 TRACE("(%p)->(%p)\n", This, aSiteWindow);
1829
1830 *aSiteWindow = This->hwnd;
1831 return NS_OK;
1832}

◆ nsEmbeddingSiteWindow_GetTitle()

static nsresult NSAPI nsEmbeddingSiteWindow_GetTitle ( nsIEmbeddingSiteWindow iface,
PRUnichar **  aTitle 
)
static

Definition at line 1807 of file nsembed.c.

1809{
1811 WARN("(%p)->(%p)\n", This, aTitle);
1813}

◆ nsEmbeddingSiteWindow_GetVisibility()

static nsresult NSAPI nsEmbeddingSiteWindow_GetVisibility ( nsIEmbeddingSiteWindow iface,
cpp_bool aVisibility 
)
static

Definition at line 1786 of file nsembed.c.

1788{
1790
1791 TRACE("(%p)->(%p)\n", This, aVisibility);
1792
1793 *aVisibility = This->doc && This->doc->hwnd && IsWindowVisible(This->doc->hwnd);
1794 return NS_OK;
1795}
BOOL WINAPI IsWindowVisible(_In_ HWND)

◆ nsEmbeddingSiteWindow_QueryInterface()

static nsresult NSAPI nsEmbeddingSiteWindow_QueryInterface ( nsIEmbeddingSiteWindow iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1726 of file nsembed.c.

1728{
1730 return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result);
1731}

◆ nsEmbeddingSiteWindow_Release()

static nsrefcnt NSAPI nsEmbeddingSiteWindow_Release ( nsIEmbeddingSiteWindow iface)
static

Definition at line 1739 of file nsembed.c.

1740{
1742 return nsIWebBrowserChrome_Release(&This->nsIWebBrowserChrome_iface);
1743}

◆ nsEmbeddingSiteWindow_SetDimensions()

static nsresult NSAPI nsEmbeddingSiteWindow_SetDimensions ( nsIEmbeddingSiteWindow iface,
UINT32  flags,
LONG  x,
LONG  y,
LONG  cx,
LONG  cy 
)
static

Definition at line 1745 of file nsembed.c.

1747{
1749 WARN("(%p)->(%08x %d %d %d %d)\n", This, flags, x, y, cx, cy);
1751}

◆ nsEmbeddingSiteWindow_SetFocus()

static nsresult NSAPI nsEmbeddingSiteWindow_SetFocus ( nsIEmbeddingSiteWindow iface)
static

Definition at line 1777 of file nsembed.c.

1778{
1780
1781 TRACE("(%p)\n", This);
1782
1783 return nsIBaseWindow_SetFocus(This->window);
1784}

◆ nsEmbeddingSiteWindow_SetTitle()

static nsresult NSAPI nsEmbeddingSiteWindow_SetTitle ( nsIEmbeddingSiteWindow iface,
const PRUnichar aTitle 
)
static

Definition at line 1815 of file nsembed.c.

1817{
1819 WARN("(%p)->(%s)\n", This, debugstr_w(aTitle));
1821}

◆ nsEmbeddingSiteWindow_SetVisibility()

static nsresult NSAPI nsEmbeddingSiteWindow_SetVisibility ( nsIEmbeddingSiteWindow iface,
cpp_bool  aVisibility 
)
static

Definition at line 1797 of file nsembed.c.

1799{
1801
1802 TRACE("(%p)->(%x)\n", This, aVisibility);
1803
1804 return NS_OK;
1805}

◆ nsfree()

void nsfree ( void mem)

Definition at line 783 of file nsembed.c.

784{
785 NS_Free(mem);
786}
Definition: mem.c:349

Referenced by exec_fontname(), and is_supported_doc_mime().

◆ nsInterfaceRequestor_AddRef()

static nsrefcnt NSAPI nsInterfaceRequestor_AddRef ( nsIInterfaceRequestor iface)
static

Definition at line 1913 of file nsembed.c.

1914{
1916 return nsIWebBrowserChrome_AddRef(&This->nsIWebBrowserChrome_iface);
1917}
static NSContainer * impl_from_nsIInterfaceRequestor(nsIInterfaceRequestor *iface)
Definition: nsembed.c:1901

◆ nsInterfaceRequestor_GetInterface()

static nsresult NSAPI nsInterfaceRequestor_GetInterface ( nsIInterfaceRequestor iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1925 of file nsembed.c.

1927{
1929
1930 if(IsEqualGUID(&IID_nsIDOMWindow, riid)) {
1931 TRACE("(%p)->(IID_nsIDOMWindow %p)\n", This, result);
1932 return nsIWebBrowser_GetContentDOMWindow(This->webbrowser, (nsIDOMWindow**)result);
1933 }
1934
1935 return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result);
1936}

◆ nsInterfaceRequestor_QueryInterface()

static nsresult NSAPI nsInterfaceRequestor_QueryInterface ( nsIInterfaceRequestor iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1906 of file nsembed.c.

1908{
1910 return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result);
1911}

◆ nsInterfaceRequestor_Release()

static nsrefcnt NSAPI nsInterfaceRequestor_Release ( nsIInterfaceRequestor iface)
static

Definition at line 1919 of file nsembed.c.

1920{
1922 return nsIWebBrowserChrome_Release(&This->nsIWebBrowserChrome_iface);
1923}

◆ nsnode_to_nsstring()

HRESULT nsnode_to_nsstring ( nsIDOMNode nsnode,
nsAString str 
)

Definition at line 1030 of file nsembed.c.

1031{
1032 nsIContentSerializer *serializer;
1033 nsresult nsres;
1034 HRESULT hres;
1035
1036 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
1037 NS_HTMLSERIALIZER_CONTRACTID, NULL, &IID_nsIContentSerializer,
1038 (void**)&serializer);
1039 if(NS_FAILED(nsres)) {
1040 ERR("Could not get nsIContentSerializer: %08x\n", nsres);
1041 return E_FAIL;
1042 }
1043
1044 nsres = nsIContentSerializer_Init(serializer, 0, 100, NULL, FALSE, FALSE /* FIXME */);
1045 if(NS_FAILED(nsres))
1046 ERR("Init failed: %08x\n", nsres);
1047
1048 hres = nsnode_to_nsstring_rec(serializer, nsnode, str);
1049 if(SUCCEEDED(hres)) {
1050 nsres = nsIContentSerializer_Flush(serializer, str);
1051 if(NS_FAILED(nsres))
1052 ERR("Flush failed: %08x\n", nsres);
1053 }
1054
1055 nsIContentSerializer_Release(serializer);
1056 return hres;
1057}
static HRESULT nsnode_to_nsstring_rec(nsIContentSerializer *serializer, nsIDOMNode *nsnode, nsAString *str)
Definition: nsembed.c:952
#define NS_HTMLSERIALIZER_CONTRACTID
Definition: nsembed.c:29

Referenced by get_doc_string(), HTMLElement_get_outerHTML(), and HTMLTxtRange_get_htmlText().

◆ nsnode_to_nsstring_rec()

static HRESULT nsnode_to_nsstring_rec ( nsIContentSerializer serializer,
nsIDOMNode nsnode,
nsAString str 
)
static

Definition at line 952 of file nsembed.c.

953{
954 nsIDOMNodeList *node_list = NULL;
955 cpp_bool has_children = FALSE;
956 nsIContent *nscontent;
957 UINT16 type;
958 nsresult nsres;
959
960 nsIDOMNode_HasChildNodes(nsnode, &has_children);
961
962 nsres = nsIDOMNode_GetNodeType(nsnode, &type);
963 if(NS_FAILED(nsres)) {
964 ERR("GetType failed: %08x\n", nsres);
965 return E_FAIL;
966 }
967
968 if(type != DOCUMENT_NODE) {
969 nsres = nsIDOMNode_QueryInterface(nsnode, &IID_nsIContent, (void**)&nscontent);
970 if(NS_FAILED(nsres)) {
971 ERR("Could not get nsIContent interface: %08x\n", nsres);
972 return E_FAIL;
973 }
974 }
975
976 switch(type) {
977 case ELEMENT_NODE:
978 nsIContentSerializer_AppendElementStart(serializer, nscontent, nscontent, str);
979 break;
980 case TEXT_NODE:
981 nsIContentSerializer_AppendText(serializer, nscontent, 0, -1, str);
982 break;
983 case COMMENT_NODE:
984 nsres = nsIContentSerializer_AppendComment(serializer, nscontent, 0, -1, str);
985 break;
986 case DOCUMENT_NODE: {
987 nsIDocument *nsdoc;
988 nsIDOMNode_QueryInterface(nsnode, &IID_nsIDocument, (void**)&nsdoc);
989 nsIContentSerializer_AppendDocumentStart(serializer, nsdoc, str);
990 nsIDocument_Release(nsdoc);
991 break;
992 }
993 case DOCUMENT_TYPE_NODE:
994 nsIContentSerializer_AppendDoctype(serializer, nscontent, str);
995 break;
996 case DOCUMENT_FRAGMENT_NODE:
997 break;
998 default:
999 FIXME("Unhandled type %u\n", type);
1000 }
1001
1002 if(has_children) {
1003 UINT32 child_cnt, i;
1004 nsIDOMNode *child_node;
1005
1006 nsIDOMNode_GetChildNodes(nsnode, &node_list);
1007 nsIDOMNodeList_GetLength(node_list, &child_cnt);
1008
1009 for(i=0; i<child_cnt; i++) {
1010 nsres = nsIDOMNodeList_Item(node_list, i, &child_node);
1011 if(NS_SUCCEEDED(nsres)) {
1012 nsnode_to_nsstring_rec(serializer, child_node, str);
1013 nsIDOMNode_Release(child_node);
1014 }else {
1015 ERR("Item failed: %08x\n", nsres);
1016 }
1017 }
1018
1019 nsIDOMNodeList_Release(node_list);
1020 }
1021
1022 if(type == ELEMENT_NODE)
1023 nsIContentSerializer_AppendElementEnd(serializer, nscontent, str);
1024
1025 if(type != DOCUMENT_NODE)
1026 nsIContent_Release(nscontent);
1027 return S_OK;
1028}
unsigned short UINT16
Definition: actypes.h:129
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
Definition: glfuncs.h:248
uint32_t UINT32
Definition: typedefs.h:59

Referenced by nsnode_to_nsstring(), and nsnode_to_nsstring_rec().

◆ nsresult()

static nsresult ( CDECL NS_InitXPCOM2)
static

◆ nsSingletonEnumerator_AddRef()

static nsrefcnt NSAPI nsSingletonEnumerator_AddRef ( nsISimpleEnumerator iface)
static

Definition at line 117 of file nsembed.c.

118{
121
122 TRACE("(%p) ref=%d\n", This, ref);
123
124 return ref;
125}
#define InterlockedIncrement
Definition: armddk.h:53
static nsSingletonEnumerator * impl_from_nsISimpleEnumerator(nsISimpleEnumerator *iface)
Definition: nsembed.c:92
ULONG nsrefcnt
Definition: nsiface.idl:40
Definition: send.c:48

◆ nsSingletonEnumerator_GetNext()

static nsresult NSAPI nsSingletonEnumerator_GetNext ( nsISimpleEnumerator iface,
nsISupports **  _retval 
)
static

Definition at line 153 of file nsembed.c.

154{
156
157 TRACE("(%p)->()\n", This);
158
159 if(!This->value)
160 return NS_ERROR_UNEXPECTED;
161
162 *_retval = This->value;
163 This->value = NULL;
164 return NS_OK;
165}

◆ nsSingletonEnumerator_HasMoreElements()

static nsresult NSAPI nsSingletonEnumerator_HasMoreElements ( nsISimpleEnumerator iface,
cpp_bool _retval 
)
static

Definition at line 143 of file nsembed.c.

144{
146
147 TRACE("(%p)->()\n", This);
148
149 *_retval = This->value != NULL;
150 return NS_OK;
151}

◆ nsSingletonEnumerator_QueryInterface()

static nsresult NSAPI nsSingletonEnumerator_QueryInterface ( nsISimpleEnumerator iface,
nsIIDRef  riid,
void **  ppv 
)
static

Definition at line 97 of file nsembed.c.

98{
100
101 if(IsEqualGUID(&IID_nsISupports, riid)) {
102 TRACE("(%p)->(IID_nsISupports %p)\n", This, ppv);
103 *ppv = &This->nsISimpleEnumerator_iface;
104 }else if(IsEqualGUID(&IID_nsISimpleEnumerator, riid)) {
105 TRACE("(%p)->(IID_nsISimpleEnumerator %p)\n", This, ppv);
106 *ppv = &This->nsISimpleEnumerator_iface;
107 }else {
108 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
109 *ppv = NULL;
110 return NS_NOINTERFACE;
111 }
112
113 nsISupports_AddRef((nsISupports*)*ppv);
114 return NS_OK;
115}

◆ nsSingletonEnumerator_Release()

static nsrefcnt NSAPI nsSingletonEnumerator_Release ( nsISimpleEnumerator iface)
static

Definition at line 127 of file nsembed.c.

128{
131
132 TRACE("(%p) ref=%d\n", This, ref);
133
134 if(!ref) {
135 if(This->value)
136 nsISupports_Release(This->value);
138 }
139
140 return ref;
141}
#define InterlockedDecrement
Definition: armddk.h:52

◆ nsSupportsWeakReference_AddRef()

static nsrefcnt NSAPI nsSupportsWeakReference_AddRef ( nsISupportsWeakReference iface)
static

Definition at line 1957 of file nsembed.c.

1958{
1960 return nsIWebBrowserChrome_AddRef(&This->nsIWebBrowserChrome_iface);
1961}
static NSContainer * impl_from_nsISupportsWeakReference(nsISupportsWeakReference *iface)
Definition: nsembed.c:1945

◆ nsSupportsWeakReference_GetWeakReference()

static nsresult NSAPI nsSupportsWeakReference_GetWeakReference ( nsISupportsWeakReference iface,
nsIWeakReference **  _retval 
)
static

Definition at line 1969 of file nsembed.c.

1971{
1973
1974 TRACE("(%p)->(%p)\n", This, _retval);
1975
1976 if(!This->weak_reference) {
1977 This->weak_reference = heap_alloc(sizeof(nsWeakReference));
1978 if(!This->weak_reference)
1980
1981 This->weak_reference->nsIWeakReference_iface.lpVtbl = &nsWeakReferenceVtbl;
1982 This->weak_reference->ref = 1;
1983 This->weak_reference->nscontainer = This;
1984 }
1985
1986 *_retval = &This->weak_reference->nsIWeakReference_iface;
1987 nsIWeakReference_AddRef(*_retval);
1988 return NS_OK;
1989}
static const nsIWeakReferenceVtbl nsWeakReferenceVtbl
Definition: nsembed.c:1252

◆ nsSupportsWeakReference_QueryInterface()

static nsresult NSAPI nsSupportsWeakReference_QueryInterface ( nsISupportsWeakReference iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1950 of file nsembed.c.

1952{
1954 return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result);
1955}

◆ nsSupportsWeakReference_Release()

static nsrefcnt NSAPI nsSupportsWeakReference_Release ( nsISupportsWeakReference iface)
static

Definition at line 1963 of file nsembed.c.

1964{
1966 return nsIWebBrowserChrome_Release(&This->nsIWebBrowserChrome_iface);
1967}

◆ nsTooltipListener_AddRef()

static nsrefcnt NSAPI nsTooltipListener_AddRef ( nsITooltipListener iface)
static

Definition at line 1860 of file nsembed.c.

1861{
1863 return nsIWebBrowserChrome_AddRef(&This->nsIWebBrowserChrome_iface);
1864}
static NSContainer * impl_from_nsITooltipListener(nsITooltipListener *iface)
Definition: nsembed.c:1848

◆ nsTooltipListener_OnHideTooltip()

static nsresult NSAPI nsTooltipListener_OnHideTooltip ( nsITooltipListener iface)
static

Definition at line 1883 of file nsembed.c.

1884{
1886
1887 if (This->doc)
1888 hide_tooltip(This->doc);
1889
1890 return NS_OK;
1891}
void hide_tooltip(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:386

◆ nsTooltipListener_OnShowTooltip()

static nsresult NSAPI nsTooltipListener_OnShowTooltip ( nsITooltipListener iface,
LONG  aXCoord,
LONG  aYCoord,
const PRUnichar aTipText 
)
static

Definition at line 1872 of file nsembed.c.

1874{
1876
1877 if (This->doc)
1878 show_tooltip(This->doc, aXCoord, aYCoord, aTipText);
1879
1880 return NS_OK;
1881}
void show_tooltip(HTMLDocumentObj *, DWORD, DWORD, LPCWSTR) DECLSPEC_HIDDEN
Definition: view.c:368

◆ nsTooltipListener_QueryInterface()

static nsresult NSAPI nsTooltipListener_QueryInterface ( nsITooltipListener iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1853 of file nsembed.c.

1855{
1857 return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result);
1858}

◆ nsTooltipListener_Release()

static nsrefcnt NSAPI nsTooltipListener_Release ( nsITooltipListener iface)
static

Definition at line 1866 of file nsembed.c.

1867{
1869 return nsIWebBrowserChrome_Release(&This->nsIWebBrowserChrome_iface);
1870}

◆ nsURIContentListener_AddRef()

static nsrefcnt NSAPI nsURIContentListener_AddRef ( nsIURIContentListener iface)
static

Definition at line 1562 of file nsembed.c.

1563{
1565 return nsIWebBrowserChrome_AddRef(&This->nsIWebBrowserChrome_iface);
1566}
static NSContainer * impl_from_nsIURIContentListener(nsIURIContentListener *iface)
Definition: nsembed.c:1550

◆ nsURIContentListener_CanHandleContent()

static nsresult NSAPI nsURIContentListener_CanHandleContent ( nsIURIContentListener iface,
const char aContentType,
cpp_bool  aIsContentPreferred,
char **  aDesiredContentType,
cpp_bool _retval 
)
static

Definition at line 1630 of file nsembed.c.

1633{
1635
1636 TRACE("(%p)->(%s %x %p %p)\n", This, debugstr_a(aContentType), aIsContentPreferred,
1637 aDesiredContentType, _retval);
1638
1639 return This->content_listener
1640 ? nsIURIContentListener_CanHandleContent(This->content_listener, aContentType,
1641 aIsContentPreferred, aDesiredContentType, _retval)
1643}

◆ nsURIContentListener_DoContent()

static nsresult NSAPI nsURIContentListener_DoContent ( nsIURIContentListener iface,
const nsACString aContentType,
cpp_bool  aIsContentPreferred,
nsIRequest aRequest,
nsIStreamListener **  aContentHandler,
cpp_bool _retval 
)
static

Definition at line 1599 of file nsembed.c.

1602{
1604
1605 TRACE("(%p)->(%p %x %p %p %p)\n", This, aContentType, aIsContentPreferred,
1606 aRequest, aContentHandler, _retval);
1607
1608 return This->content_listener
1609 ? nsIURIContentListener_DoContent(This->content_listener, aContentType,
1610 aIsContentPreferred, aRequest, aContentHandler, _retval)
1612}

◆ nsURIContentListener_GetLoadCookie()

static nsresult NSAPI nsURIContentListener_GetLoadCookie ( nsIURIContentListener iface,
nsISupports **  aLoadCookie 
)
static

Definition at line 1645 of file nsembed.c.

1647{
1649
1650 WARN("(%p)->(%p)\n", This, aLoadCookie);
1651
1652 return This->content_listener
1653 ? nsIURIContentListener_GetLoadCookie(This->content_listener, aLoadCookie)
1655}

◆ nsURIContentListener_GetParentContentListener()

static nsresult NSAPI nsURIContentListener_GetParentContentListener ( nsIURIContentListener iface,
nsIURIContentListener **  aParentContentListener 
)
static

Definition at line 1669 of file nsembed.c.

1671{
1673
1674 TRACE("(%p)->(%p)\n", This, aParentContentListener);
1675
1676 if(This->content_listener)
1677 nsIURIContentListener_AddRef(This->content_listener);
1678
1679 *aParentContentListener = This->content_listener;
1680 return NS_OK;
1681}

◆ nsURIContentListener_IsPreferred()

static nsresult NSAPI nsURIContentListener_IsPreferred ( nsIURIContentListener iface,
const char aContentType,
char **  aDesiredContentType,
cpp_bool _retval 
)
static

Definition at line 1614 of file nsembed.c.

1616{
1618
1619 TRACE("(%p)->(%s %p %p)\n", This, debugstr_a(aContentType), aDesiredContentType, _retval);
1620
1621 /* FIXME: Should we do something here? */
1622 *_retval = TRUE;
1623
1624 return This->content_listener
1625 ? nsIURIContentListener_IsPreferred(This->content_listener, aContentType,
1626 aDesiredContentType, _retval)
1627 : NS_OK;
1628}

◆ nsURIContentListener_OnStartURIOpen()

static nsresult NSAPI nsURIContentListener_OnStartURIOpen ( nsIURIContentListener iface,
nsIURI aURI,
cpp_bool _retval 
)
static

Definition at line 1574 of file nsembed.c.

1576{
1578 nsACString spec_str;
1579 const char *spec;
1580 nsresult nsres;
1581
1582 nsACString_Init(&spec_str, NULL);
1583 nsIURI_GetSpec(aURI, &spec_str);
1584 nsACString_GetData(&spec_str, &spec);
1585
1586 TRACE("(%p)->(%p(%s) %p)\n", This, aURI, debugstr_a(spec), _retval);
1587
1588 nsACString_Finish(&spec_str);
1589
1590 nsres = on_start_uri_open(This, aURI, _retval);
1591 if(NS_FAILED(nsres))
1592 return nsres;
1593
1594 return !*_retval && This->content_listener
1595 ? nsIURIContentListener_OnStartURIOpen(This->content_listener, aURI, _retval)
1596 : NS_OK;
1597}
nsresult on_start_uri_open(NSContainer *, nsIURI *, cpp_bool *) DECLSPEC_HIDDEN
Definition: nsio.c:4019
BOOL nsACString_Init(nsACString *str, const char *data)
Definition: nsembed.c:788
void nsACString_Finish(nsACString *str)
Definition: nsembed.c:812
UINT32 nsACString_GetData(const nsACString *str, const char **data)
Definition: nsembed.c:807

◆ nsURIContentListener_QueryInterface()

static nsresult NSAPI nsURIContentListener_QueryInterface ( nsIURIContentListener iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1555 of file nsembed.c.

1557{
1559 return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result);
1560}

◆ nsURIContentListener_Release()

static nsrefcnt NSAPI nsURIContentListener_Release ( nsIURIContentListener iface)
static

Definition at line 1568 of file nsembed.c.

1569{
1571 return nsIWebBrowserChrome_Release(&This->nsIWebBrowserChrome_iface);
1572}

◆ nsURIContentListener_SetLoadCookie()

static nsresult NSAPI nsURIContentListener_SetLoadCookie ( nsIURIContentListener iface,
nsISupports aLoadCookie 
)
static

Definition at line 1657 of file nsembed.c.

1659{
1661
1662 WARN("(%p)->(%p)\n", This, aLoadCookie);
1663
1664 return This->content_listener
1665 ? nsIURIContentListener_SetLoadCookie(This->content_listener, aLoadCookie)
1667}

◆ nsURIContentListener_SetParentContentListener()

static nsresult NSAPI nsURIContentListener_SetParentContentListener ( nsIURIContentListener iface,
nsIURIContentListener aParentContentListener 
)
static

Definition at line 1683 of file nsembed.c.

1685{
1687
1688 TRACE("(%p)->(%p)\n", This, aParentContentListener);
1689
1690 if(aParentContentListener == &This->nsIURIContentListener_iface)
1691 return NS_OK;
1692
1693 if(This->content_listener)
1694 nsIURIContentListener_Release(This->content_listener);
1695
1696 This->content_listener = aParentContentListener;
1697 if(This->content_listener)
1698 nsIURIContentListener_AddRef(This->content_listener);
1699
1700 return NS_OK;
1701}

◆ nsWeakReference_AddRef()

static nsrefcnt NSAPI nsWeakReference_AddRef ( nsIWeakReference iface)
static

Definition at line 1216 of file nsembed.c.

1217{
1220
1221 TRACE("(%p) ref=%d\n", This, ref);
1222
1223 return ref;
1224}
static nsWeakReference * impl_from_nsIWeakReference(nsIWeakReference *iface)
Definition: nsembed.c:1190

◆ nsWeakReference_QueryInterface()

static nsresult NSAPI nsWeakReference_QueryInterface ( nsIWeakReference iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1195 of file nsembed.c.

1197{
1199
1200 if(IsEqualGUID(&IID_nsISupports, riid)) {
1201 TRACE("(%p)->(IID_nsISupports %p)\n", This, result);
1202 *result = &This->nsIWeakReference_iface;
1203 }else if(IsEqualGUID(&IID_nsIWeakReference, riid)) {
1204 TRACE("(%p)->(IID_nsIWeakReference %p)\n", This, result);
1205 *result = &This->nsIWeakReference_iface;
1206 }else {
1207 WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), result);
1208 *result = NULL;
1209 return NS_NOINTERFACE;
1210 }
1211
1212 nsISupports_AddRef((nsISupports*)*result);
1213 return NS_OK;
1214}

◆ nsWeakReference_QueryReferent()

static nsresult NSAPI nsWeakReference_QueryReferent ( nsIWeakReference iface,
const nsIID riid,
void **  result 
)
static

Definition at line 1241 of file nsembed.c.

1243{
1245
1246 if(!This->nscontainer)
1247 return NS_ERROR_NULL_POINTER;
1248
1249 return nsIWebBrowserChrome_QueryInterface(&This->nscontainer->nsIWebBrowserChrome_iface, riid, result);
1250}
#define NS_ERROR_NULL_POINTER

◆ nsWeakReference_Release()

static nsrefcnt NSAPI nsWeakReference_Release ( nsIWeakReference iface)
static

Definition at line 1226 of file nsembed.c.

1227{
1230
1231 TRACE("(%p) ref=%d\n", This, ref);
1232
1233 if(!ref) {
1234 assert(!This->nscontainer);
1235 heap_free(This);
1236 }
1237
1238 return ref;
1239}

◆ nsWebBrowserChrome_AddRef()

static nsrefcnt NSAPI nsWebBrowserChrome_AddRef ( nsIWebBrowserChrome iface)
static

Definition at line 1309 of file nsembed.c.

1310{
1313
1314 TRACE("(%p) ref=%d\n", This, ref);
1315
1316 return ref;
1317}
static NSContainer * impl_from_nsIWebBrowserChrome(nsIWebBrowserChrome *iface)
Definition: nsembed.c:1263

◆ nsWebBrowserChrome_DestroyBrowserWindow()

static nsresult NSAPI nsWebBrowserChrome_DestroyBrowserWindow ( nsIWebBrowserChrome iface)
static

Definition at line 1392 of file nsembed.c.

1393{
1395 TRACE("(%p)\n", This);
1397}

◆ nsWebBrowserChrome_ExitModalEventLoop()

static nsresult NSAPI nsWebBrowserChrome_ExitModalEventLoop ( nsIWebBrowserChrome iface,
nsresult  aStatus 
)
static

Definition at line 1421 of file nsembed.c.

1423{
1425 WARN("(%p)->(%08x)\n", This, aStatus);
1427}

◆ nsWebBrowserChrome_GetChromeFlags()

static nsresult NSAPI nsWebBrowserChrome_GetChromeFlags ( nsIWebBrowserChrome iface,
UINT32 aChromeFlags 
)
static

Definition at line 1376 of file nsembed.c.

1378{
1380 WARN("(%p)->(%p)\n", This, aChromeFlags);
1382}

◆ nsWebBrowserChrome_GetWebBrowser()

static nsresult NSAPI nsWebBrowserChrome_GetWebBrowser ( nsIWebBrowserChrome iface,
nsIWebBrowser **  aWebBrowser 
)
static

Definition at line 1347 of file nsembed.c.

1349{
1351
1352 TRACE("(%p)->(%p)\n", This, aWebBrowser);
1353
1354 if(!aWebBrowser)
1355 return NS_ERROR_INVALID_ARG;
1356
1357 if(This->webbrowser)
1358 nsIWebBrowser_AddRef(This->webbrowser);
1359 *aWebBrowser = This->webbrowser;
1360 return S_OK;
1361}

◆ nsWebBrowserChrome_IsWindowModal()

static nsresult NSAPI nsWebBrowserChrome_IsWindowModal ( nsIWebBrowserChrome iface,
cpp_bool _retval 
)
static

Definition at line 1414 of file nsembed.c.

1415{
1417 WARN("(%p)->(%p)\n", This, _retval);
1419}

◆ nsWebBrowserChrome_QueryInterface()

static nsresult NSAPI nsWebBrowserChrome_QueryInterface ( nsIWebBrowserChrome iface,
nsIIDRef  riid,
void **  result 
)
static

Definition at line 1268 of file nsembed.c.

1270{
1272
1273 *result = NULL;
1274 if(IsEqualGUID(&IID_nsISupports, riid)) {
1275 TRACE("(%p)->(IID_nsISupports, %p)\n", This, result);
1276 *result = &This->nsIWebBrowserChrome_iface;
1277 }else if(IsEqualGUID(&IID_nsIWebBrowserChrome, riid)) {
1278 TRACE("(%p)->(IID_nsIWebBrowserChrome, %p)\n", This, result);
1279 *result = &This->nsIWebBrowserChrome_iface;
1280 }else if(IsEqualGUID(&IID_nsIContextMenuListener, riid)) {
1281 TRACE("(%p)->(IID_nsIContextMenuListener, %p)\n", This, result);
1282 *result = &This->nsIContextMenuListener_iface;
1283 }else if(IsEqualGUID(&IID_nsIURIContentListener, riid)) {
1284 TRACE("(%p)->(IID_nsIURIContentListener %p)\n", This, result);
1285 *result = &This->nsIURIContentListener_iface;
1286 }else if(IsEqualGUID(&IID_nsIEmbeddingSiteWindow, riid)) {
1287 TRACE("(%p)->(IID_nsIEmbeddingSiteWindow %p)\n", This, result);
1288 *result = &This->nsIEmbeddingSiteWindow_iface;
1289 }else if(IsEqualGUID(&IID_nsITooltipListener, riid)) {
1290 TRACE("(%p)->(IID_nsITooltipListener %p)\n", This, result);
1291 *result = &This->nsITooltipListener_iface;
1292 }else if(IsEqualGUID(&IID_nsIInterfaceRequestor, riid)) {
1293 TRACE("(%p)->(IID_nsIInterfaceRequestor %p)\n", This, result);
1294 *result = &This->nsIInterfaceRequestor_iface;
1295 }else if(IsEqualGUID(&IID_nsISupportsWeakReference, riid)) {
1296 TRACE("(%p)->(IID_nsISupportsWeakReference %p)\n", This, result);
1297 *result = &This->nsISupportsWeakReference_iface;
1298 }
1299
1300 if(*result) {
1301 nsIWebBrowserChrome_AddRef(&This->nsIWebBrowserChrome_iface);
1302 return NS_OK;
1303 }
1304
1305 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), result);
1306 return NS_NOINTERFACE;
1307}

◆ nsWebBrowserChrome_Release()

static nsrefcnt NSAPI nsWebBrowserChrome_Release ( nsIWebBrowserChrome iface)
static

Definition at line 1319 of file nsembed.c.

1320{
1323
1324 TRACE("(%p) ref=%d\n", This, ref);
1325
1326 if(!ref) {
1327 if(This->parent)
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);
1332 }
1333 heap_free(This);
1334 }
1335
1336 return ref;
1337}

◆ nsWebBrowserChrome_SetChromeFlags()

static nsresult NSAPI nsWebBrowserChrome_SetChromeFlags ( nsIWebBrowserChrome iface,
UINT32  aChromeFlags 
)
static

Definition at line 1384 of file nsembed.c.

1386{
1388 WARN("(%p)->(%08x)\n", This, aChromeFlags);
1390}

◆ nsWebBrowserChrome_SetStatus()

static nsresult NSAPI nsWebBrowserChrome_SetStatus ( nsIWebBrowserChrome iface,
UINT32  statusType,
const PRUnichar status 
)
static

Definition at line 1339 of file nsembed.c.

1341{
1343 TRACE("(%p)->(%d %s)\n", This, statusType, debugstr_w(status));
1344 return NS_OK;
1345}
Definition: ps.c:97

◆ nsWebBrowserChrome_SetWebBrowser()

static nsresult NSAPI nsWebBrowserChrome_SetWebBrowser ( nsIWebBrowserChrome iface,
nsIWebBrowser aWebBrowser 
)
static

Definition at line 1363 of file nsembed.c.

1365{
1367
1368 TRACE("(%p)->(%p)\n", This, aWebBrowser);
1369
1370 if(aWebBrowser != This->webbrowser)
1371 ERR("Wrong nsWebBrowser!\n");
1372
1373 return NS_OK;
1374}

◆ nsWebBrowserChrome_ShowAsModal()

static nsresult NSAPI nsWebBrowserChrome_ShowAsModal ( nsIWebBrowserChrome iface)
static

Definition at line 1407 of file nsembed.c.

1408{
1410 WARN("(%p)\n", This);
1412}

◆ nsWebBrowserChrome_SizeBrowserTo()

static nsresult NSAPI nsWebBrowserChrome_SizeBrowserTo ( nsIWebBrowserChrome iface,
LONG  aCX,
LONG  aCY 
)
static

Definition at line 1399 of file nsembed.c.

1401{
1403 WARN("(%p)->(%d %d)\n", This, aCX, aCY);
1405}

◆ PRUint32()

static nsIFile **static PRUint32 ( CDECL NS_StringGetData) const
static

◆ register_nscontainer_class()

static void register_nscontainer_class ( void  )
static

Definition at line 372 of file nsembed.c.

373{
374 static WNDCLASSEXW wndclass = {
375 sizeof(WNDCLASSEXW),
378 0, 0, NULL, NULL, NULL, NULL, NULL,
380 NULL,
381 };
382 wndclass.hInstance = hInst;
384}
static LRESULT WINAPI nsembed_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: nsembed.c:334
HINSTANCE hInstance
Definition: winuser.h:3329
#define CS_DBLCLKS
Definition: winuser.h:659
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
struct _WNDCLASSEXW WNDCLASSEXW

Referenced by init_nscontainer().

◆ return_nsstr()

HRESULT return_nsstr ( nsresult  nsres,
nsAString nsstr,
BSTR p 
)

Definition at line 871 of file nsembed.c.

872{
873 const PRUnichar *str;
874
875 if(NS_FAILED(nsres)) {
876 ERR("failed: %08x\n", nsres);
877 nsAString_Finish(nsstr);
878 return E_FAIL;
879 }
880
881 nsAString_GetData(nsstr, &str);
882 TRACE("ret %s\n", debugstr_w(str));
883 if(*str) {
884 *p = SysAllocString(str);
885 if(!*p)
886 return E_OUTOFMEMORY;
887 }else {
888 *p = NULL;
889 }
890
891 nsAString_Finish(nsstr);
892 return S_OK;
893}
GLfloat GLfloat p
Definition: glext.h:8902
UINT32 nsAString_GetData(const nsAString *str, const PRUnichar **data)
Definition: nsembed.c:831
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:240

Referenced by HTMLAnchorElement_get_hash(), HTMLAnchorElement_get_hostname(), HTMLAnchorElement_get_name(), HTMLAnchorElement_get_rel(), HTMLAnchorElement_get_search(), HTMLAnchorElement_get_target(), HTMLBodyElement_get_background(), HTMLButtonElement_get_name(), HTMLDocument5_get_compatMode(), HTMLDocument_get_charset(), HTMLDOMNode_get_nodeName(), HTMLDOMTextNode_get_data(), HTMLElement2_get_dir(), HTMLElement3_get_contentEditable(), HTMLElement_get_className(), HTMLElement_get_id(), HTMLElement_get_innerHTML(), HTMLElement_get_tagName(), HTMLElement_get_title(), HTMLFormElement_get_encoding(), HTMLFormElement_get_method(), HTMLFormElement_get_name(), HTMLFormElement_get_target(), HTMLFrameBase_get_frameBorder(), HTMLFrameBase_get_name(), HTMLFrameBase_get_src(), HTMLIFrameElement2_get_height(), HTMLIFrameElement2_get_width(), HTMLImgElement_get_align(), HTMLImgElement_get_alt(), HTMLImgElement_get_name(), HTMLInputElement_get_defaultValue(), HTMLInputElement_get_name(), HTMLInputElement_get_type(), HTMLInputElement_get_value(), HTMLLinkElement_get_href(), HTMLLinkElement_get_media(), HTMLLinkElement_get_rel(), HTMLLinkElement_get_rev(), HTMLLinkElement_get_type(), HTMLObjectElement_get_name(), HTMLOptionElement_get_text(), HTMLOptionElement_get_value(), HTMLScriptElement_get_src(), HTMLScriptElement_get_text(), HTMLScriptElement_get_type(), HTMLSelectElement_get_name(), HTMLSelectElement_get_type(), HTMLSelectElement_get_value(), HTMLStyleElement_get_media(), HTMLStyleElement_get_type(), HTMLStyleSheet_get_cssText(), HTMLStyleSheet_get_href(), HTMLTable3_get_summary(), HTMLTable_get_align(), HTMLTable_get_cellSpacing(), HTMLTable_get_frame(), HTMLTableCell_get_align(), HTMLTableRow_get_align(), HTMLTableRow_get_vAlign(), HTMLTextAreaElement_get_defaultValue(), HTMLTextAreaElement_get_name(), HTMLTextAreaElement_get_value(), HTMLWindow2_get_name(), HTMLXMLHttpRequest_get_responseText(), and return_nsstr_variant().

◆ set_bool_pref()

static void set_bool_pref ( nsIPrefBranch pref,
const char pref_name,
BOOL  val 
)
static

Definition at line 604 of file nsembed.c.

605{
606 nsresult nsres;
607
608 nsres = nsIPrefBranch_SetBoolPref(pref, pref_name, val);
609 if(NS_FAILED(nsres))
610 ERR("Could not set pref %s\n", debugstr_a(pref_name));
611}
GLuint GLfloat * val
Definition: glext.h:7180

Referenced by set_preferences().

◆ set_environment()

static void set_environment ( LPCWSTR  gre_path)
static

Definition at line 426 of file nsembed.c.

427{
428 size_t len, gre_path_len;
429 int debug_level = 0;
430 WCHAR *path, buf[20];
431 const WCHAR *ptr;
432
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};
440
441 SetEnvironmentVariableW(xpcom_debug_breakW, warnW);
442
443 if(TRACE_ON(gecko))
444 debug_level = 5;
445 else if(WARN_ON(gecko))
446 debug_level = 3;
447 else if(ERR_ON(gecko))
448 debug_level = 2;
449
450 sprintfW(buf, debug_formatW, debug_level);
451 SetEnvironmentVariableW(nspr_log_modulesW, buf);
452
454 gre_path_len = strlenW(gre_path);
455 path = heap_alloc((len+gre_path_len+1)*sizeof(WCHAR));
456 if(!path)
457 return;
459
460 /* We have to modify PATH as xul.dll loads other DLLs from this directory. */
461 if(!(ptr = strstrW(path, gre_path))
462 || (ptr > path && *(ptr-1) != ';')
463 || (ptr[gre_path_len] && ptr[gre_path_len] != ';')) {
464 if(len)
465 path[len-1] = ';';
466 strcpyW(path+len, gre_path);
468 }
470}
#define GetEnvironmentVariableW(x, y, z)
Definition: compat.h:755
#define TRACE_ON(x)
Definition: compat.h:75
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableW(IN LPCWSTR lpName, IN LPCWSTR lpValue)
Definition: environ.c:232
#define WARN_ON(c)
Definition: module.h:257
static const WCHAR pathW[]
Definition: path.c:2368
#define ERR_ON(ch)
Definition: debug.h:405
#define strstrW(d, s)
Definition: unicode.h:32
#define sprintfW
Definition: unicode.h:58

Referenced by load_xul().

◆ set_int_pref()

static void set_int_pref ( nsIPrefBranch pref,
const char pref_name,
int  val 
)
static

Definition at line 613 of file nsembed.c.

614{
615 nsresult nsres;
616
617 nsres = nsIPrefBranch_SetIntPref(pref, pref_name, val);
618 if(NS_FAILED(nsres))
619 ERR("Could not set pref %s\n", debugstr_a(pref_name));
620}

Referenced by set_preferences().

◆ set_lang()

static void set_lang ( nsIPrefBranch pref)
static

Definition at line 631 of file nsembed.c.

632{
633 char langs[100];
634 DWORD res, size, type;
635 HKEY hkey;
636
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};
642
643 res = RegOpenKeyW(HKEY_CURRENT_USER, international_keyW, &hkey);
644 if(res != ERROR_SUCCESS)
645 return;
646
647 size = sizeof(langs);
648 res = RegQueryValueExA(hkey, "AcceptLanguage", 0, &type, (LPBYTE)langs, &size);
649 RegCloseKey(hkey);
650 if(res != ERROR_SUCCESS || type != REG_SZ)
651 return;
652
653 TRACE("Setting lang %s\n", debugstr_a(langs));
654
655 set_string_pref(pref, "intl.accept_languages", langs);
656}
std::set< LANGID > langs
Definition: LocaleTests.cpp:67
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
Definition: reg.c:4009
static void set_string_pref(nsIPrefBranch *pref, const char *pref_name, const char *val)
Definition: nsembed.c:622
#define HKEY_CURRENT_USER
Definition: winreg.h:11

Referenced by set_preferences().

◆ set_preferences()

static void set_preferences ( void  )
static

Definition at line 658 of file nsembed.c.

659{
660 nsIPrefBranch *pref;
661 nsresult nsres;
662
663 nsres = nsIServiceManager_GetServiceByContractID(pServMgr, NS_PREFERENCES_CONTRACTID,
664 &IID_nsIPrefBranch, (void**)&pref);
665 if(NS_FAILED(nsres)) {
666 ERR("Could not get preference service: %08x\n", nsres);
667 return;
668 }
669
670 set_lang(pref);
671 set_bool_pref(pref, "security.warn_entering_secure", FALSE);
672 set_bool_pref(pref, "security.warn_submit_insecure", FALSE);
673 set_int_pref(pref, "layout.spellcheckDefault", 0);
674
675 nsIPrefBranch_Release(pref);
676}
static void set_lang(nsIPrefBranch *pref)
Definition: nsembed.c:631
static void set_int_pref(nsIPrefBranch *pref, const char *pref_name, int val)
Definition: nsembed.c:613
static void set_bool_pref(nsIPrefBranch *pref, const char *pref_name, BOOL val)
Definition: nsembed.c:604
#define NS_PREFERENCES_CONTRACTID
Definition: nsembed.c:31

Referenced by init_xpcom().

◆ set_string_pref()

static void set_string_pref ( nsIPrefBranch pref,
const char pref_name,
const char val 
)
static

Definition at line 622 of file nsembed.c.

623{
624 nsresult nsres;
625
626 nsres = nsIPrefBranch_SetCharPref(pref, pref_name, val);
627 if(NS_FAILED(nsres))
628 ERR("Could not set pref %s\n", debugstr_a(pref_name));
629}

Referenced by set_lang().

◆ set_viewer_zoom()

void set_viewer_zoom ( NSContainer nscontainer,
float  factor 
)

Definition at line 1160 of file nsembed.c.

1161{
1162 nsIContentViewer *content_viewer;
1163 nsIDocShell *doc_shell;
1164 nsresult nsres;
1165
1166 TRACE("Setting to %f\n", factor);
1167
1168 nsres = get_nsinterface((nsISupports*)nscontainer->navigation, &IID_nsIDocShell, (void**)&doc_shell);
1169 assert(nsres == NS_OK);
1170
1171 nsres = nsIDocShell_GetContentViewer(doc_shell, &content_viewer);
1172 assert(nsres == NS_OK && content_viewer);
1173 nsIDocShell_Release(doc_shell);
1174
1175 nsres = nsIContentViewer_SetFullZoom(content_viewer, factor);
1176 if(NS_FAILED(nsres))
1177 ERR("SetFullZoom failed: %08x\n", nsres);
1178
1179 nsIContentViewer_Release(content_viewer);
1180}
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
Definition: glfuncs.h:178

Referenced by exec_optical_zoom(), and load_settings().

◆ void()

static void ( CDECL NS_Free)
static

◆ WINE_DECLARE_DEBUG_CHANNEL()

WINE_DECLARE_DEBUG_CHANNEL ( gecko  )

Variable Documentation

◆ cat_mgr

nsICategoryManager* cat_mgr
static

Definition at line 63 of file nsembed.c.

Referenced by close_gecko(), get_nscategory_entry(), and init_xpcom().

◆ cpp_bool

Definition at line 53 of file nsembed.c.

◆ cs_load_gecko

static CRITICAL_SECTION cs_load_gecko = { &cs_load_gecko_dbg, -1, 0, 0, 0, 0 }
static

Definition at line 733 of file nsembed.c.

Referenced by close_gecko(), and load_gecko().

◆ cs_load_gecko_dbg

CRITICAL_SECTION_DEBUG cs_load_gecko_dbg
static
Initial value:
=
{
0, 0, &cs_load_gecko,
0, 0, { (DWORD_PTR)(__FILE__ ": load_gecko") }
}
static CRITICAL_SECTION_DEBUG cs_load_gecko_dbg
Definition: nsembed.c:734
#define DWORD_PTR
Definition: treelist.c:76

Definition at line 734 of file nsembed.c.

◆ gecko_path

WCHAR gecko_path[MAX_PATH]
static

Definition at line 69 of file nsembed.c.

Referenced by init_xpcom(), and is_gecko_path().

◆ gecko_path_len

unsigned gecko_path_len
static

Definition at line 70 of file nsembed.c.

Referenced by init_xpcom(), and is_gecko_path().

◆ nscontainer_class

ATOM nscontainer_class
static

Definition at line 68 of file nsembed.c.

Referenced by init_nscontainer(), and register_nscontainer_class().

◆ nsContextMenuListenerVtbl

const nsIContextMenuListenerVtbl nsContextMenuListenerVtbl
static
Initial value:
= {
}
static nsrefcnt NSAPI nsContextMenuListener_Release(nsIContextMenuListener *iface)
Definition: nsembed.c:1467
static nsresult NSAPI nsContextMenuListener_QueryInterface(nsIContextMenuListener *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1454
static nsrefcnt NSAPI nsContextMenuListener_AddRef(nsIContextMenuListener *iface)
Definition: nsembed.c:1461
static nsresult NSAPI nsContextMenuListener_OnShowContextMenu(nsIContextMenuListener *iface, UINT32 aContextFlags, nsIDOMEvent *aEvent, nsIDOMNode *aNode)
Definition: nsembed.c:1473

Definition at line 1539 of file nsembed.c.

Referenced by create_nscontainer().

◆ nsDirectoryServiceProvider2

nsIDirectoryServiceProvider2 nsDirectoryServiceProvider2
static
Initial value:
=
static const nsIDirectoryServiceProvider2Vtbl nsDirectoryServiceProvider2Vtbl
Definition: nsembed.c:323

Definition at line 331 of file nsembed.c.

Referenced by init_xpcom().

◆ nsDirectoryServiceProvider2Vtbl

const nsIDirectoryServiceProvider2Vtbl nsDirectoryServiceProvider2Vtbl
static
Initial value:
= {
}
static nsresult NSAPI nsDirectoryServiceProvider2_QueryInterface(nsIDirectoryServiceProvider2 *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:192
static nsresult NSAPI nsDirectoryServiceProvider2_GetFile(nsIDirectoryServiceProvider2 *iface, const char *prop, cpp_bool *persistent, nsIFile **_retval)
Definition: nsembed.c:259
static nsrefcnt NSAPI nsDirectoryServiceProvider2_AddRef(nsIDirectoryServiceProvider2 *iface)
Definition: nsembed.c:214
static nsresult NSAPI nsDirectoryServiceProvider2_GetFiles(nsIDirectoryServiceProvider2 *iface, const char *prop, nsISimpleEnumerator **_retval)
Definition: nsembed.c:281
static nsrefcnt NSAPI nsDirectoryServiceProvider2_Release(nsIDirectoryServiceProvider2 *iface)
Definition: nsembed.c:219

Definition at line 323 of file nsembed.c.

◆ nsEmbeddingSiteWindowVtbl

const nsIEmbeddingSiteWindowVtbl nsEmbeddingSiteWindowVtbl
static
Initial value:
= {
}
static nsresult NSAPI nsEmbeddingSiteWindow_GetVisibility(nsIEmbeddingSiteWindow *iface, cpp_bool *aVisibility)
Definition: nsembed.c:1786
static nsresult NSAPI nsEmbeddingSiteWindow_SetDimensions(nsIEmbeddingSiteWindow *iface, UINT32 flags, LONG x, LONG y, LONG cx, LONG cy)
Definition: nsembed.c:1745
static nsrefcnt NSAPI nsEmbeddingSiteWindow_AddRef(nsIEmbeddingSiteWindow *iface)
Definition: nsembed.c:1733
static nsresult NSAPI nsEmbeddingSiteWindow_GetDimensions(nsIEmbeddingSiteWindow *iface, UINT32 flags, LONG *x, LONG *y, LONG *cx, LONG *cy)
Definition: nsembed.c:1753
static nsresult NSAPI nsEmbeddingSiteWindow_GetTitle(nsIEmbeddingSiteWindow *iface, PRUnichar **aTitle)
Definition: nsembed.c:1807
static nsresult NSAPI nsEmbeddingSiteWindow_SetVisibility(nsIEmbeddingSiteWindow *iface, cpp_bool aVisibility)
Definition: nsembed.c:1797
static nsresult NSAPI nsEmbeddingSiteWindow_SetFocus(nsIEmbeddingSiteWindow *iface)
Definition: nsembed.c:1777
static nsrefcnt NSAPI nsEmbeddingSiteWindow_Release(nsIEmbeddingSiteWindow *iface)
Definition: nsembed.c:1739
static nsresult NSAPI nsEmbeddingSiteWindow_GetSiteWindow(nsIEmbeddingSiteWindow *iface, void **aSiteWindow)
Definition: nsembed.c:1823
static nsresult NSAPI nsEmbeddingSiteWindow_QueryInterface(nsIEmbeddingSiteWindow *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1726
static nsresult NSAPI nsEmbeddingSiteWindow_SetTitle(nsIEmbeddingSiteWindow *iface, const PRUnichar *aTitle)
Definition: nsembed.c:1815

Definition at line 1834 of file nsembed.c.

Referenced by create_nscontainer().

◆ nsInterfaceRequestorVtbl

const nsIInterfaceRequestorVtbl nsInterfaceRequestorVtbl
static
Initial value:
= {
}
static nsrefcnt NSAPI nsInterfaceRequestor_AddRef(nsIInterfaceRequestor *iface)
Definition: nsembed.c:1913
static nsresult NSAPI nsInterfaceRequestor_QueryInterface(nsIInterfaceRequestor *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1906
static nsrefcnt NSAPI nsInterfaceRequestor_Release(nsIInterfaceRequestor *iface)
Definition: nsembed.c:1919
static nsresult NSAPI nsInterfaceRequestor_GetInterface(nsIInterfaceRequestor *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1925

Definition at line 1938 of file nsembed.c.

Referenced by create_nscontainer().

◆ nsSingletonEnumeratorVtbl

const nsISimpleEnumeratorVtbl nsSingletonEnumeratorVtbl
static
Initial value:
= {
}
static nsresult NSAPI nsSingletonEnumerator_QueryInterface(nsISimpleEnumerator *iface, nsIIDRef riid, void **ppv)
Definition: nsembed.c:97
static nsrefcnt NSAPI nsSingletonEnumerator_AddRef(nsISimpleEnumerator *iface)
Definition: nsembed.c:117
static nsresult NSAPI nsSingletonEnumerator_HasMoreElements(nsISimpleEnumerator *iface, cpp_bool *_retval)
Definition: nsembed.c:143
static nsresult NSAPI nsSingletonEnumerator_GetNext(nsISimpleEnumerator *iface, nsISupports **_retval)
Definition: nsembed.c:153
static nsrefcnt NSAPI nsSingletonEnumerator_Release(nsISimpleEnumerator *iface)
Definition: nsembed.c:127

Definition at line 167 of file nsembed.c.

Referenced by create_singleton_enumerator().

◆ nsSupportsWeakReferenceVtbl

const nsISupportsWeakReferenceVtbl nsSupportsWeakReferenceVtbl
static
Initial value:
= {
}
static nsrefcnt NSAPI nsSupportsWeakReference_Release(nsISupportsWeakReference *iface)
Definition: nsembed.c:1963
static nsresult NSAPI nsSupportsWeakReference_QueryInterface(nsISupportsWeakReference *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1950
static nsrefcnt NSAPI nsSupportsWeakReference_AddRef(nsISupportsWeakReference *iface)
Definition: nsembed.c:1957
static nsresult NSAPI nsSupportsWeakReference_GetWeakReference(nsISupportsWeakReference *iface, nsIWeakReference **_retval)
Definition: nsembed.c:1969

Definition at line 1991 of file nsembed.c.

Referenced by create_nscontainer().

◆ nsTooltipListenerVtbl

const nsITooltipListenerVtbl nsTooltipListenerVtbl
static
Initial value:
= {
}
static nsresult NSAPI nsTooltipListener_OnHideTooltip(nsITooltipListener *iface)
Definition: nsembed.c:1883
static nsrefcnt NSAPI nsTooltipListener_AddRef(nsITooltipListener *iface)
Definition: nsembed.c:1860
static nsresult NSAPI nsTooltipListener_QueryInterface(nsITooltipListener *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1853
static nsrefcnt NSAPI nsTooltipListener_Release(nsITooltipListener *iface)
Definition: nsembed.c:1866
static nsresult NSAPI nsTooltipListener_OnShowTooltip(nsITooltipListener *iface, LONG aXCoord, LONG aYCoord, const PRUnichar *aTipText)
Definition: nsembed.c:1872

Definition at line 1893 of file nsembed.c.

Referenced by create_nscontainer().

◆ nsURIContentListenerVtbl

const nsIURIContentListenerVtbl nsURIContentListenerVtbl
static
Initial value:
= {
}
static nsresult NSAPI nsURIContentListener_SetParentContentListener(nsIURIContentListener *iface, nsIURIContentListener *aParentContentListener)
Definition: nsembed.c:1683
static nsresult NSAPI nsURIContentListener_QueryInterface(nsIURIContentListener *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1555
static nsresult NSAPI nsURIContentListener_SetLoadCookie(nsIURIContentListener *iface, nsISupports *aLoadCookie)
Definition: nsembed.c:1657
static nsresult NSAPI nsURIContentListener_GetLoadCookie(nsIURIContentListener *iface, nsISupports **aLoadCookie)
Definition: nsembed.c:1645
static nsresult NSAPI nsURIContentListener_DoContent(nsIURIContentListener *iface, const nsACString *aContentType, cpp_bool aIsContentPreferred, nsIRequest *aRequest, nsIStreamListener **aContentHandler, cpp_bool *_retval)
Definition: nsembed.c:1599
static nsresult NSAPI nsURIContentListener_IsPreferred(nsIURIContentListener *iface, const char *aContentType, char **aDesiredContentType, cpp_bool *_retval)
Definition: nsembed.c:1614
static nsresult NSAPI nsURIContentListener_CanHandleContent(nsIURIContentListener *iface, const char *aContentType, cpp_bool aIsContentPreferred, char **aDesiredContentType, cpp_bool *_retval)
Definition: nsembed.c:1630
static nsresult NSAPI nsURIContentListener_GetParentContentListener(nsIURIContentListener *iface, nsIURIContentListener **aParentContentListener)
Definition: nsembed.c:1669
static nsresult NSAPI nsURIContentListener_OnStartURIOpen(nsIURIContentListener *iface, nsIURI *aURI, cpp_bool *_retval)
Definition: nsembed.c:1574
static nsrefcnt NSAPI nsURIContentListener_AddRef(nsIURIContentListener *iface)
Definition: nsembed.c:1562
static nsrefcnt NSAPI nsURIContentListener_Release(nsIURIContentListener *iface)
Definition: nsembed.c:1568

Definition at line 1703 of file nsembed.c.

Referenced by create_nscontainer().

◆ nsWeakReferenceVtbl

const nsIWeakReferenceVtbl nsWeakReferenceVtbl
static
Initial value:
= {
}
static nsrefcnt NSAPI nsWeakReference_AddRef(nsIWeakReference *iface)
Definition: nsembed.c:1216
static nsresult NSAPI nsWeakReference_QueryReferent(nsIWeakReference *iface, const nsIID *riid, void **result)
Definition: nsembed.c:1241
static nsrefcnt NSAPI nsWeakReference_Release(nsIWeakReference *iface)
Definition: nsembed.c:1226
static nsresult NSAPI nsWeakReference_QueryInterface(nsIWeakReference *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1195

Definition at line 1252 of file nsembed.c.

Referenced by nsSupportsWeakReference_GetWeakReference().

◆ nsWebBrowserChromeVtbl

const nsIWebBrowserChromeVtbl nsWebBrowserChromeVtbl
static
Initial value:
= {
}
static nsresult NSAPI nsWebBrowserChrome_SetWebBrowser(nsIWebBrowserChrome *iface, nsIWebBrowser *aWebBrowser)
Definition: nsembed.c:1363
static nsresult NSAPI nsWebBrowserChrome_DestroyBrowserWindow(nsIWebBrowserChrome *iface)
Definition: nsembed.c:1392
static nsresult NSAPI nsWebBrowserChrome_ShowAsModal(nsIWebBrowserChrome *iface)
Definition: nsembed.c:1407
static nsresult NSAPI nsWebBrowserChrome_SizeBrowserTo(nsIWebBrowserChrome *iface, LONG aCX, LONG aCY)
Definition: nsembed.c:1399
static nsresult NSAPI nsWebBrowserChrome_GetChromeFlags(nsIWebBrowserChrome *iface, UINT32 *aChromeFlags)
Definition: nsembed.c:1376
static nsresult NSAPI nsWebBrowserChrome_SetChromeFlags(nsIWebBrowserChrome *iface, UINT32 aChromeFlags)
Definition: nsembed.c:1384
static nsresult NSAPI nsWebBrowserChrome_SetStatus(nsIWebBrowserChrome *iface, UINT32 statusType, const PRUnichar *status)
Definition: nsembed.c:1339
static nsresult NSAPI nsWebBrowserChrome_ExitModalEventLoop(nsIWebBrowserChrome *iface, nsresult aStatus)
Definition: nsembed.c:1421
static nsresult NSAPI nsWebBrowserChrome_QueryInterface(nsIWebBrowserChrome *iface, nsIIDRef riid, void **result)
Definition: nsembed.c:1268
static nsresult NSAPI nsWebBrowserChrome_GetWebBrowser(nsIWebBrowserChrome *iface, nsIWebBrowser **aWebBrowser)
Definition: nsembed.c:1347
static nsrefcnt NSAPI nsWebBrowserChrome_AddRef(nsIWebBrowserChrome *iface)
Definition: nsembed.c:1309
static nsresult NSAPI nsWebBrowserChrome_IsWindowModal(nsIWebBrowserChrome *iface, cpp_bool *_retval)
Definition: nsembed.c:1414
static nsrefcnt NSAPI nsWebBrowserChrome_Release(nsIWebBrowserChrome *iface)
Definition: nsembed.c:1319

Definition at line 1429 of file nsembed.c.

Referenced by create_nscontainer().

◆ pCompMgr

◆ plugin_directory

nsIFile * plugin_directory
static

Definition at line 64 of file nsembed.c.

Referenced by close_gecko(), and nsDirectoryServiceProvider2_GetFiles().

◆ profile_directory

nsIFile* profile_directory
static

◆ pServMgr

nsIServiceManager* pServMgr = NULL
static

Definition at line 61 of file nsembed.c.

Referenced by close_gecko(), create_nsxhr(), init_xpcom(), and set_preferences().

◆ wszNsContainer

const WCHAR wszNsContainer[] = {'N','s','C','o','n','t','a','i','n','e','r',0}
static

Definition at line 66 of file nsembed.c.

Referenced by init_nscontainer(), and register_nscontainer_class().

◆ xul_handle

HINSTANCE xul_handle = NULL
static

Definition at line 59 of file nsembed.c.

Referenced by init_xpcom(), and load_xul().