ReactOS 0.4.15-dev-7711-g5627da4
mshtml_private.h File Reference
#include <wine/config.h>
#include <assert.h>
#include <stdarg.h>
#include <stdio.h>
#include <math.h>
#include <windef.h>
#include <winbase.h>
#include <winreg.h>
#include <wingdi.h>
#include <ole2.h>
#include <docobjectservice.h>
#include <mshtmhst.h>
#include <mshtmcid.h>
#include <mshtmdid.h>
#include <perhist.h>
#include <objsafe.h>
#include <htiframe.h>
#include <tlogstg.h>
#include <shdeprecated.h>
#include <shlguid.h>
#include <shlwapi.h>
#include <optary.h>
#include <idispids.h>
#include <wininet.h>
#include <nsiface.h>
#include <wine/debug.h>
#include <wine/list.h>
#include <wine/unicode.h>
#include "binding.h"
#include "htmlevent.h"
#include "htmlscript.h"
#include "htmlstyle.h"
#include "pluginhost.h"
#include "resource.h"
Include dependency graph for mshtml_private.h:

Go to the source code of this file.

Classes

struct  dispex_static_data_vtbl_t
 
struct  dispex_static_data_t
 
struct  DispatchEx
 
struct  nsCycleCollectingAutoRefCnt
 
struct  ExternalCycleCollectionParticipant
 
struct  CCObjCallback
 
struct  global_prop_t
 
struct  EventTarget
 
struct  HTMLOptionElementFactory
 
struct  HTMLImageElementFactory
 
struct  HTMLXMLHttpRequestFactory
 
struct  HTMLLocation
 
struct  OmHistory
 
struct  windowref_t
 
struct  HTMLWindow
 
struct  HTMLOuterWindow
 
struct  HTMLInnerWindow
 
struct  _cp_static_data_t
 
struct  cpc_entry_t
 
struct  ConnectionPointContainer
 
struct  ConnectionPoint< T >
 
struct  HTMLDocument
 
struct  HTMLDocumentObj
 
struct  NSContainer
 
struct  NodeImplVtbl
 
struct  HTMLDOMNode
 
struct  HTMLElement
 
struct  HTMLTextContainer
 
struct  HTMLFrameBase
 
struct  HTMLDocumentNode
 
struct  HTMLAttributeCollection
 
struct  HTMLDOMAttribute
 
struct  cmdtable_t
 
struct  task_t
 
struct  docobj_task_t
 
struct  thread_data_t
 

Macros

#define WIN32_NO_STATUS
 
#define _INC_WINDOWS
 
#define COBJMACROS
 
#define NONAMELESSUNION
 
#define NONAMELESSSTRUCT
 
#define NO_SHLWAPI_REG
 
#define NS_ERROR_GENERATE_FAILURE(module, code)    ((nsresult) (((UINT32)(1u<<31)) | ((UINT32)(module+0x45)<<16) | ((UINT32)(code))))
 
#define NS_OK   ((nsresult)0x00000000L)
 
#define NS_ERROR_FAILURE   ((nsresult)0x80004005L)
 
#define NS_ERROR_OUT_OF_MEMORY   ((nsresult)0x8007000EL)
 
#define NS_ERROR_NOT_IMPLEMENTED   ((nsresult)0x80004001L)
 
#define NS_NOINTERFACE   ((nsresult)0x80004002L)
 
#define NS_ERROR_INVALID_POINTER   ((nsresult)0x80004003L)
 
#define NS_ERROR_NULL_POINTER   NS_ERROR_INVALID_POINTER
 
#define NS_ERROR_NOT_AVAILABLE   ((nsresult)0x80040111L)
 
#define NS_ERROR_INVALID_ARG   ((nsresult)0x80070057L)
 
#define NS_ERROR_UNEXPECTED   ((nsresult)0x8000ffffL)
 
#define NS_ERROR_MODULE_NETWORK   6
 
#define NS_BINDING_ABORTED   NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 2)
 
#define NS_ERROR_UNKNOWN_PROTOCOL   NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 18)
 
#define NS_FAILED(res)   ((res) & 0x80000000)
 
#define NS_SUCCEEDED(res)   (!NS_FAILED(res))
 
#define NSAPI   WINAPI
 
#define MSHTML_E_NODOC   0x800a025c
 
#define TID_LIST
 
#define XIID(iface)   iface ## _tid,
 
#define XDIID(iface)   iface ## _tid,
 
#define MSHTML_DISPID_CUSTOM_MIN   0x60000000
 
#define MSHTML_DISPID_CUSTOM_MAX   0x6fffffff
 
#define MSHTML_CUSTOM_DISPID_CNT   (MSHTML_DISPID_CUSTOM_MAX-MSHTML_DISPID_CUSTOM_MIN)
 
#define HTMLELEMENT_TIDS
 
#define HTMLELEMENT_CPC   {&DIID_HTMLElementEvents2, &HTMLElementEvents2_data}
 
#define ATTRFLAG_CASESENSITIVE   0x0001
 
#define ATTRFLAG_ASSTRING   0x0002
 
#define ATTRFLAG_EXPANDURL   0x0004
 
#define UPDATE_UI   0x0001
 
#define UPDATE_TITLE   0x0002
 

Typedefs

typedef struct HTMLDOMNode HTMLDOMNode
 
typedef struct ConnectionPoint ConnectionPoint
 
typedef struct BSCallback BSCallback
 
typedef struct event_target_t event_target_t
 
typedef struct dispex_data_t dispex_data_t
 
typedef struct dispex_dynamic_data_t dispex_dynamic_data_t
 
typedef struct DispatchEx DispatchEx
 
typedef struct nsCycleCollectionTraversalCallback nsCycleCollectionTraversalCallback
 
typedef struct HTMLWindow HTMLWindow
 
typedef struct HTMLInnerWindow HTMLInnerWindow
 
typedef struct HTMLOuterWindow HTMLOuterWindow
 
typedef struct HTMLDocumentNode HTMLDocumentNode
 
typedef struct HTMLDocumentObj HTMLDocumentObj
 
typedef struct HTMLFrameBase HTMLFrameBase
 
typedef struct NSContainer NSContainer
 
typedef struct HTMLAttributeCollection HTMLAttributeCollection
 
typedef struct ScriptHost ScriptHost
 
typedef struct nsChannelBSC nsChannelBSC
 
typedef struct _cp_static_data_t cp_static_data_t
 
typedef struct ConnectionPointContainer ConnectionPointContainer
 
typedef struct nsWeakReference nsWeakReference
 
typedef struct nsDocumentEventListener nsDocumentEventListener
 
typedef struct task_t task_t
 
typedef void(* task_proc_t) (task_t *)
 

Enumerations

enum  tid_t {
  LAST_tid , LAST_tid , Database_tid , Installer_tid ,
  Record_tid , Session_tid , StringList_tid , SummaryInfo_tid ,
  View_tid , LAST_tid , NULL_tid , IXMLDOMAttribute_tid ,
  IXMLDOMCDATASection_tid , IXMLDOMComment_tid , IXMLDOMDocument_tid , IXMLDOMDocument2_tid ,
  IXMLDOMDocument3_tid , IXMLDOMDocumentFragment_tid , IXMLDOMDocumentType_tid , IXMLDOMElement_tid ,
  IXMLDOMEntityReference_tid , IXMLDOMImplementation_tid , IXMLDOMNamedNodeMap_tid , IXMLDOMNode_tid ,
  IXMLDOMNodeList_tid , IXMLDOMParseError2_tid , IXMLDOMProcessingInstruction_tid , IXMLDOMSchemaCollection_tid ,
  IXMLDOMSchemaCollection2_tid , IXMLDOMSelection_tid , IXMLDOMText_tid , IXMLElement_tid ,
  IXMLDocument_tid , IXMLHTTPRequest_tid , IXSLProcessor_tid , IXSLTemplate_tid ,
  IVBSAXAttributes_tid , IVBSAXContentHandler_tid , IVBSAXDeclHandler_tid , IVBSAXDTDHandler_tid ,
  IVBSAXEntityResolver_tid , IVBSAXErrorHandler_tid , IVBSAXLexicalHandler_tid , IVBSAXLocator_tid ,
  IVBSAXXMLFilter_tid , IVBSAXXMLReader_tid , IMXAttributes_tid , IMXReaderControl_tid ,
  IMXWriter_tid , IVBMXNamespaceManager_tid , IServerXMLHTTPRequest_tid , LAST_tid ,
  NULL_tid , ITextDocument_tid , ITextRange_tid , ITextSelection_tid ,
  ITextFont_tid , ITextPara_tid , LAST_tid , NULL_tid ,
  IDictionary_tid , IDrive_tid , IDriveCollection_tid , IFile_tid ,
  IFileCollection_tid , IFileSystem3_tid , IFolder_tid , IFolderCollection_tid ,
  ITextStream_tid , LAST_tid , NULL_tid , IWshCollection_tid ,
  IWshEnvironment_tid , IWshExec_tid , IWshShell3_tid , IWshShortcut_tid ,
  LAST_tid
}
 
enum  dispex_prop_type_t { DISPEXPROP_CUSTOM , DISPEXPROP_DYNAMIC , DISPEXPROP_BUILTIN }
 
enum  SCRIPTMODE { SCRIPTMODE_GECKO , SCRIPTMODE_ACTIVESCRIPT }
 
enum  global_prop_type_t { GLOBAL_SCRIPTVAR , GLOBAL_ELEMENTVAR , GLOBAL_DISPEXVAR , GLOBAL_FRAMEVAR }
 
enum  USERMODE { UNKNOWN_USERMODE , BROWSEMODE , EDITMODE }
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (mshtml)
 
 DEFINE_GUID (IID_nsXPCOMCycleCollectionParticipant, 0x9674489b, 0x1f6f, 0x4550, 0xa7, 0x30, 0xcc, 0xae, 0xdd, 0x10, 0x4c, 0xf9)
 
 nsrefcnt (__cdecl *ccref_incr)(nsCycleCollectingAutoRefCnt *
 
 void (__cdecl *ccref_init)(nsCycleCollectingAutoRefCnt *
 
void init_dispex (DispatchEx *, IUnknown *, dispex_static_data_t *) DECLSPEC_HIDDEN
 
void release_dispex (DispatchEx *) DECLSPEC_HIDDEN
 
BOOL dispex_query_interface (DispatchEx *, REFIID, void **) DECLSPEC_HIDDEN
 
HRESULT dispex_get_dprop_ref (DispatchEx *, const WCHAR *, BOOL, VARIANT **) DECLSPEC_HIDDEN
 
HRESULT get_dispids (tid_t, DWORD *, DISPID **) DECLSPEC_HIDDEN
 
HRESULT remove_attribute (DispatchEx *, DISPID, VARIANT_BOOL *) DECLSPEC_HIDDEN
 
HRESULT dispex_get_dynid (DispatchEx *, const WCHAR *, DISPID *) DECLSPEC_HIDDEN
 
void dispex_traverse (DispatchEx *, nsCycleCollectionTraversalCallback *) DECLSPEC_HIDDEN
 
void dispex_unlink (DispatchEx *) DECLSPEC_HIDDEN
 
void release_typelib (void) DECLSPEC_HIDDEN
 
HRESULT get_htmldoc_classinfo (ITypeInfo **typeinfo) DECLSPEC_HIDDEN
 
dispex_prop_type_t get_dispid_type (DISPID) DECLSPEC_HIDDEN
 
static HRESULT htmldoc_query_interface (HTMLDocument *This, REFIID riid, void **ppv)
 
static ULONG htmldoc_addref (HTMLDocument *This)
 
static ULONG htmldoc_release (HTMLDocument *This)
 
static void node_addref (HTMLDOMNode *node)
 
static void node_release (HTMLDOMNode *node)
 
HRESULT HTMLDocument_Create (IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
 
HRESULT HTMLLoadOptions_Create (IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
 
HRESULT create_doc_from_nsdoc (nsIDOMHTMLDocument *, HTMLDocumentObj *, HTMLInnerWindow *, HTMLDocumentNode **) DECLSPEC_HIDDEN
 
HRESULT HTMLOuterWindow_Create (HTMLDocumentObj *, nsIDOMWindow *, HTMLOuterWindow *, HTMLOuterWindow **) DECLSPEC_HIDDEN
 
HRESULT update_window_doc (HTMLInnerWindow *) DECLSPEC_HIDDEN
 
HTMLOuterWindownswindow_to_window (const nsIDOMWindow *) DECLSPEC_HIDDEN
 
void get_top_window (HTMLOuterWindow *, HTMLOuterWindow **) DECLSPEC_HIDDEN
 
HRESULT HTMLOptionElementFactory_Create (HTMLInnerWindow *, HTMLOptionElementFactory **) DECLSPEC_HIDDEN
 
HRESULT HTMLImageElementFactory_Create (HTMLInnerWindow *, HTMLImageElementFactory **) DECLSPEC_HIDDEN
 
HRESULT HTMLXMLHttpRequestFactory_Create (HTMLInnerWindow *, HTMLXMLHttpRequestFactory **) DECLSPEC_HIDDEN
 
HRESULT HTMLLocation_Create (HTMLInnerWindow *, HTMLLocation **) DECLSPEC_HIDDEN
 
IOmNavigator * OmNavigator_Create (void) DECLSPEC_HIDDEN
 
HRESULT HTMLScreen_Create (IHTMLScreen **) DECLSPEC_HIDDEN
 
HRESULT create_history (HTMLInnerWindow *, OmHistory **) DECLSPEC_HIDDEN
 
HRESULT create_dom_implementation (IHTMLDOMImplementation **) DECLSPEC_HIDDEN
 
HRESULT create_storage (IHTMLStorage **) DECLSPEC_HIDDEN
 
void HTMLDocument_Persist_Init (HTMLDocument *) DECLSPEC_HIDDEN
 
void HTMLDocument_OleCmd_Init (HTMLDocument *) DECLSPEC_HIDDEN
 
void HTMLDocument_OleObj_Init (HTMLDocument *) DECLSPEC_HIDDEN
 
void HTMLDocument_View_Init (HTMLDocument *) DECLSPEC_HIDDEN
 
void HTMLDocument_Window_Init (HTMLDocument *) DECLSPEC_HIDDEN
 
void HTMLDocument_Service_Init (HTMLDocument *) DECLSPEC_HIDDEN
 
void HTMLDocument_Hlink_Init (HTMLDocument *) DECLSPEC_HIDDEN
 
void TargetContainer_Init (HTMLDocumentObj *) DECLSPEC_HIDDEN
 
void init_binding_ui (HTMLDocumentObj *) DECLSPEC_HIDDEN
 
void HTMLDocumentNode_SecMgr_Init (HTMLDocumentNode *) DECLSPEC_HIDDEN
 
HRESULT HTMLCurrentStyle_Create (HTMLElement *, IHTMLCurrentStyle **) DECLSPEC_HIDDEN
 
void ConnectionPointContainer_Init (ConnectionPointContainer *, IUnknown *, const cpc_entry_t *) DECLSPEC_HIDDEN
 
void ConnectionPointContainer_Destroy (ConnectionPointContainer *) DECLSPEC_HIDDEN
 
HRESULT create_nscontainer (HTMLDocumentObj *, NSContainer **) DECLSPEC_HIDDEN
 
void NSContainer_Release (NSContainer *) DECLSPEC_HIDDEN
 
void init_mutation (nsIComponentManager *) DECLSPEC_HIDDEN
 
void init_document_mutation (HTMLDocumentNode *) DECLSPEC_HIDDEN
 
void release_document_mutation (HTMLDocumentNode *) DECLSPEC_HIDDEN
 
JSContextget_context_from_document (nsIDOMHTMLDocument *) DECLSPEC_HIDDEN
 
void HTMLDocument_LockContainer (HTMLDocumentObj *, BOOL) DECLSPEC_HIDDEN
 
void show_context_menu (HTMLDocumentObj *, DWORD, POINT *, IDispatch *) DECLSPEC_HIDDEN
 
void notif_focus (HTMLDocumentObj *) DECLSPEC_HIDDEN
 
void show_tooltip (HTMLDocumentObj *, DWORD, DWORD, LPCWSTR) DECLSPEC_HIDDEN
 
void hide_tooltip (HTMLDocumentObj *) DECLSPEC_HIDDEN
 
HRESULT get_client_disp_property (IOleClientSite *, DISPID, VARIANT *) DECLSPEC_HIDDEN
 
UINT get_document_charset (HTMLDocumentNode *) DECLSPEC_HIDDEN
 
HRESULT ProtocolFactory_Create (REFCLSID, REFIID, void **) DECLSPEC_HIDDEN
 
BOOL load_gecko (void) DECLSPEC_HIDDEN
 
void close_gecko (void) DECLSPEC_HIDDEN
 
void register_nsservice (nsIComponentRegistrar *, nsIServiceManager *) DECLSPEC_HIDDEN
 
void init_nsio (nsIComponentManager *, nsIComponentRegistrar *) DECLSPEC_HIDDEN
 
void release_nsio (void) DECLSPEC_HIDDEN
 
BOOL is_gecko_path (const char *) DECLSPEC_HIDDEN
 
void set_viewer_zoom (NSContainer *, float) DECLSPEC_HIDDEN
 
void init_node_cc (void) DECLSPEC_HIDDEN
 
HRESULT nsuri_to_url (LPCWSTR, BOOL, BSTR *) DECLSPEC_HIDDEN
 
HRESULT set_frame_doc (HTMLFrameBase *, nsIDOMDocument *) DECLSPEC_HIDDEN
 
void call_property_onchanged (ConnectionPointContainer *, DISPID) DECLSPEC_HIDDEN
 
HRESULT call_set_active_object (IOleInPlaceUIWindow *, IOleInPlaceActiveObject *) DECLSPEC_HIDDEN
 
voidnsalloc (size_t) __WINE_ALLOC_SIZE(1) DECLSPEC_HIDDEN
 
void nsfree (void *) DECLSPEC_HIDDEN
 
BOOL nsACString_Init (nsACString *str, const char *data) DECLSPEC_HIDDEN
 
void nsACString_InitDepend (nsACString *, const char *) DECLSPEC_HIDDEN
 
void nsACString_SetData (nsACString *, const char *) DECLSPEC_HIDDEN
 
UINT32 nsACString_GetData (const nsACString *, const char **) DECLSPEC_HIDDEN
 
void nsACString_Finish (nsACString *) DECLSPEC_HIDDEN
 
BOOL nsAString_Init (nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
 
void nsAString_InitDepend (nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
 
UINT32 nsAString_GetData (const nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
 
void nsAString_Finish (nsAString *) DECLSPEC_HIDDEN
 
HRESULT return_nsstr (nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
 
static HRESULT return_nsstr_variant (nsresult nsres, nsAString *nsstr, VARIANT *p)
 
nsICommandParamscreate_nscommand_params (void) DECLSPEC_HIDDEN
 
HRESULT nsnode_to_nsstring (nsIDOMNode *, nsAString *) DECLSPEC_HIDDEN
 
void get_editor_controller (NSContainer *) DECLSPEC_HIDDEN
 
nsresult get_nsinterface (nsISupports *, REFIID, void **) DECLSPEC_HIDDEN
 
nsIWritableVariantcreate_nsvariant (void) DECLSPEC_HIDDEN
 
nsIXMLHttpRequestcreate_nsxhr (nsIDOMWindow *nswindow) DECLSPEC_HIDDEN
 
nsresult create_nsfile (const PRUnichar *, nsIFile **) DECLSPEC_HIDDEN
 
charget_nscategory_entry (const char *, const char *) DECLSPEC_HIDDEN
 
HRESULT create_pending_window (HTMLOuterWindow *, nsChannelBSC *) DECLSPEC_HIDDEN
 
HRESULT start_binding (HTMLInnerWindow *, BSCallback *, IBindCtx *) DECLSPEC_HIDDEN
 
HRESULT async_start_doc_binding (HTMLOuterWindow *, HTMLInnerWindow *) DECLSPEC_HIDDEN
 
void abort_window_bindings (HTMLInnerWindow *) DECLSPEC_HIDDEN
 
void set_download_state (HTMLDocumentObj *, int) DECLSPEC_HIDDEN
 
void call_docview_84 (HTMLDocumentObj *) DECLSPEC_HIDDEN
 
void set_ready_state (HTMLOuterWindow *, READYSTATE) DECLSPEC_HIDDEN
 
HRESULT get_readystate_string (READYSTATE, BSTR *) DECLSPEC_HIDDEN
 
HRESULT HTMLSelectionObject_Create (HTMLDocumentNode *, nsISelection *, IHTMLSelectionObject **) DECLSPEC_HIDDEN
 
HRESULT HTMLTxtRange_Create (HTMLDocumentNode *, nsIDOMRange *, IHTMLTxtRange **) DECLSPEC_HIDDEN
 
IHTMLStyleSheet * HTMLStyleSheet_Create (nsIDOMStyleSheet *) DECLSPEC_HIDDEN
 
IHTMLStyleSheetsCollection * HTMLStyleSheetsCollection_Create (nsIDOMStyleSheetList *) DECLSPEC_HIDDEN
 
void detach_selection (HTMLDocumentNode *) DECLSPEC_HIDDEN
 
void detach_ranges (HTMLDocumentNode *) DECLSPEC_HIDDEN
 
HRESULT get_node_text (HTMLDOMNode *, BSTR *) DECLSPEC_HIDDEN
 
HRESULT replace_node_by_html (nsIDOMHTMLDocument *, nsIDOMNode *, const WCHAR *) DECLSPEC_HIDDEN
 
HRESULT create_nselem (HTMLDocumentNode *, const WCHAR *, nsIDOMHTMLElement **) DECLSPEC_HIDDEN
 
HRESULT create_element (HTMLDocumentNode *, const WCHAR *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLDOMTextNode_Create (HTMLDocumentNode *, nsIDOMNode *, HTMLDOMNode **) DECLSPEC_HIDDEN
 
BOOL variant_to_nscolor (const VARIANT *v, nsAString *nsstr) DECLSPEC_HIDDEN
 
HRESULT nscolor_to_str (LPCWSTR color, BSTR *ret) DECLSPEC_HIDDEN
 
HRESULT HTMLDOMAttribute_Create (const WCHAR *, HTMLElement *, DISPID, HTMLDOMAttribute **) DECLSPEC_HIDDEN
 
HRESULT HTMLElement_Create (HTMLDocumentNode *, nsIDOMNode *, BOOL, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLCommentElement_Create (HTMLDocumentNode *, nsIDOMNode *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLAnchorElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLAreaElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLBodyElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLButtonElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLEmbedElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLFormElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLFrameElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLHeadElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLIFrame_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLStyleElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLImgElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLInputElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLLabelElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLLinkElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLMetaElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLObjectElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLOptionElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLScriptElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLSelectElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLTable_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLTableCell_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLTableRow_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLTextAreaElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLTitleElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HRESULT HTMLGenericElement_Create (HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
 
void HTMLDOMNode_Init (HTMLDocumentNode *, HTMLDOMNode *, nsIDOMNode *) DECLSPEC_HIDDEN
 
void HTMLElement_Init (HTMLElement *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
 
void HTMLTextContainer_Init (HTMLTextContainer *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
 
void HTMLFrameBase_Init (HTMLFrameBase *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
 
HRESULT HTMLDOMNode_QI (HTMLDOMNode *, REFIID, void **) DECLSPEC_HIDDEN
 
void HTMLDOMNode_destructor (HTMLDOMNode *) DECLSPEC_HIDDEN
 
HRESULT HTMLElement_QI (HTMLDOMNode *, REFIID, void **) DECLSPEC_HIDDEN
 
void HTMLElement_destructor (HTMLDOMNode *) DECLSPEC_HIDDEN
 
HRESULT HTMLElement_clone (HTMLDOMNode *, nsIDOMNode *, HTMLDOMNode **) DECLSPEC_HIDDEN
 
HRESULT HTMLElement_get_attr_col (HTMLDOMNode *, HTMLAttributeCollection **) DECLSPEC_HIDDEN
 
HRESULT HTMLElement_handle_event (HTMLDOMNode *, DWORD, nsIDOMEvent *, BOOL *) DECLSPEC_HIDDEN
 
HRESULT HTMLFrameBase_QI (HTMLFrameBase *, REFIID, void **) DECLSPEC_HIDDEN
 
void HTMLFrameBase_destructor (HTMLFrameBase *) DECLSPEC_HIDDEN
 
HRESULT get_node (HTMLDocumentNode *, nsIDOMNode *, BOOL, HTMLDOMNode **) DECLSPEC_HIDDEN
 
HRESULT get_elem (HTMLDocumentNode *, nsIDOMElement *, HTMLElement **) DECLSPEC_HIDDEN
 
HTMLElementunsafe_impl_from_IHTMLElement (IHTMLElement *) DECLSPEC_HIDDEN
 
HRESULT search_window_props (HTMLInnerWindow *, BSTR, DWORD, DISPID *) DECLSPEC_HIDDEN
 
HRESULT get_frame_by_name (HTMLOuterWindow *, const WCHAR *, BOOL, HTMLOuterWindow **) DECLSPEC_HIDDEN
 
HRESULT get_doc_elem_by_id (HTMLDocumentNode *, const WCHAR *, HTMLElement **) DECLSPEC_HIDDEN
 
HTMLOuterWindowget_target_window (HTMLOuterWindow *, nsAString *, BOOL *) DECLSPEC_HIDDEN
 
HRESULT handle_link_click_event (HTMLElement *, nsAString *, nsAString *, nsIDOMEvent *, BOOL *) DECLSPEC_HIDDEN
 
HRESULT wrap_iface (IUnknown *, IUnknown *, IUnknown **) DECLSPEC_HIDDEN
 
IHTMLElementCollection * create_all_collection (HTMLDOMNode *, BOOL) DECLSPEC_HIDDEN
 
IHTMLElementCollection * create_collection_from_nodelist (HTMLDocumentNode *, nsIDOMNodeList *) DECLSPEC_HIDDEN
 
IHTMLElementCollection * create_collection_from_htmlcol (HTMLDocumentNode *, nsIDOMHTMLCollection *) DECLSPEC_HIDDEN
 
HRESULT get_elem_attr_value_by_dispid (HTMLElement *, DISPID, DWORD, VARIANT *) DECLSPEC_HIDDEN
 
HRESULT get_elem_source_index (HTMLElement *, LONG *) DECLSPEC_HIDDEN
 
nsresult get_elem_attr_value (nsIDOMHTMLElement *, const WCHAR *, nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
 
HRESULT elem_string_attr_getter (HTMLElement *, const WCHAR *, BOOL, BSTR *) DECLSPEC_HIDDEN
 
HRESULT elem_string_attr_setter (HTMLElement *, const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN
 
void do_ns_command (HTMLDocument *, const char *, nsICommandParams *) DECLSPEC_HIDDEN
 
void update_doc (HTMLDocument *, DWORD) DECLSPEC_HIDDEN
 
void update_title (HTMLDocumentObj *) DECLSPEC_HIDDEN
 
void set_document_navigation (HTMLDocumentObj *, BOOL) DECLSPEC_HIDDEN
 
HRESULT do_query_service (IUnknown *, REFGUID, REFIID, void **) DECLSPEC_HIDDEN
 
HRESULT setup_edit_mode (HTMLDocumentObj *) DECLSPEC_HIDDEN
 
void init_editor (HTMLDocument *) DECLSPEC_HIDDEN
 
void handle_edit_event (HTMLDocument *, nsIDOMEvent *) DECLSPEC_HIDDEN
 
HRESULT editor_exec_copy (HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
 
HRESULT editor_exec_cut (HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
 
HRESULT editor_exec_paste (HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
 
void handle_edit_load (HTMLDocument *) DECLSPEC_HIDDEN
 
HRESULT editor_is_dirty (HTMLDocument *) DECLSPEC_HIDDEN
 
void set_dirty (HTMLDocument *, VARIANT_BOOL) DECLSPEC_HIDDEN
 
thread_data_tget_thread_data (BOOL) DECLSPEC_HIDDEN
 
HWND get_thread_hwnd (void) DECLSPEC_HIDDEN
 
LONG get_task_target_magic (void) DECLSPEC_HIDDEN
 
HRESULT push_task (task_t *, task_proc_t, task_proc_t, LONG) DECLSPEC_HIDDEN
 
void remove_target_tasks (LONG) DECLSPEC_HIDDEN
 
void flush_pending_tasks (LONG) DECLSPEC_HIDDEN
 
HRESULT set_task_timer (HTMLInnerWindow *, DWORD, BOOL, IDispatch *, LONG *) DECLSPEC_HIDDEN
 
HRESULT clear_task_timer (HTMLInnerWindow *, BOOL, DWORD) DECLSPEC_HIDDEN
 
const chardebugstr_mshtml_guid (const GUID *) DECLSPEC_HIDDEN
 
 DEFINE_GUID (CLSID_AboutProtocol, 0x3050F406, 0x98B5, 0x11CF, 0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B)
 
 DEFINE_GUID (CLSID_JSProtocol, 0x3050F3B2, 0x98B5, 0x11CF, 0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B)
 
 DEFINE_GUID (CLSID_MailtoProtocol, 0x3050F3DA, 0x98B5, 0x11CF, 0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B)
 
 DEFINE_GUID (CLSID_ResProtocol, 0x3050F3BC, 0x98B5, 0x11CF, 0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B)
 
 DEFINE_GUID (CLSID_SysimageProtocol, 0x76E67A63, 0x06E9, 0x11D2, 0xA8, 0x40, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82)
 
 DEFINE_GUID (CLSID_CMarkup, 0x3050f4fb, 0x98b5, 0x11cf, 0xbb, 0x82, 0x00, 0xaa, 0x00, 0xbd, 0xce, 0x0b)
 
 DEFINE_OLEGUID (CGID_DocHostCmdPriv, 0x000214D4L, 0, 0)
 
 DEFINE_GUID (CLSID_JScript, 0xf414c260, 0x6ac0, 0x11cf, 0xb6, 0xd1, 0x00, 0xaa, 0x00, 0xbb, 0xbb, 0x58)
 
 DEFINE_GUID (CLSID_VBScript, 0xb54f3741, 0x5b07, 0x11cf, 0xa4, 0xb0, 0x00, 0xaa, 0x00, 0x4a, 0x55, 0xe8)
 
 DEFINE_GUID (IID_UndocumentedScriptIface, 0x719c3050, 0xf9d3, 0x11cf, 0xa4, 0x93, 0x00, 0x40, 0x05, 0x23, 0xa8, 0xa0)
 
 DEFINE_GUID (IID_IDispatchJS, 0x719c3050, 0xf9d3, 0x11cf, 0xa4, 0x93, 0x00, 0x40, 0x05, 0x23, 0xa8, 0xa6)
 
static void__WINE_ALLOC_SIZE (1) heap_alloc(size_t len)
 
static void__WINE_ALLOC_SIZE (2) heap_realloc(void *mem
 
static BOOL heap_free (void *mem)
 
static LPWSTR heap_strdupW (LPCWSTR str)
 
static LPWSTR heap_strndupW (LPCWSTR str, unsigned len)
 
static charheap_strdupA (const char *str)
 
static WCHARheap_strdupAtoW (const char *str)
 
static charheap_strdupWtoA (LPCWSTR str)
 
static WCHARheap_strdupUtoW (const char *str)
 
static charheap_strdupWtoU (const WCHAR *str)
 
static charheap_strndupWtoU (LPCWSTR str, unsigned len)
 
static void windowref_addref (windowref_t *ref)
 
static void windowref_release (windowref_t *ref)
 
UINT cp_from_charset_string (BSTR) DECLSPEC_HIDDEN
 
HDC get_display_dc (void) DECLSPEC_HIDDEN
 
HINSTANCE get_shdoclc (void) DECLSPEC_HIDDEN
 
void set_statustext (HTMLDocumentObj *, INT, LPCWSTR) DECLSPEC_HIDDEN
 

Variables

nsISupportsDECLSPEC_HIDDEN
 
static void size_t len
 

Macro Definition Documentation

◆ _INC_WINDOWS

#define _INC_WINDOWS

Definition at line 30 of file mshtml_private.h.

◆ ATTRFLAG_ASSTRING

#define ATTRFLAG_ASSTRING   0x0002

Definition at line 1031 of file mshtml_private.h.

◆ ATTRFLAG_CASESENSITIVE

#define ATTRFLAG_CASESENSITIVE   0x0001

Definition at line 1030 of file mshtml_private.h.

◆ ATTRFLAG_EXPANDURL

#define ATTRFLAG_EXPANDURL   0x0004

Definition at line 1032 of file mshtml_private.h.

◆ COBJMACROS

#define COBJMACROS

Definition at line 32 of file mshtml_private.h.

◆ HTMLELEMENT_CPC

#define HTMLELEMENT_CPC   {&DIID_HTMLElementEvents2, &HTMLElementEvents2_data}

Definition at line 748 of file mshtml_private.h.

◆ HTMLELEMENT_TIDS

#define HTMLELEMENT_TIDS
Value:
IHTMLDOMNode_tid, \
IHTMLDOMNode2_tid, \
IHTMLElement_tid, \
IHTMLElement2_tid, \
IHTMLElement3_tid, \
IHTMLElement4_tid

Definition at line 739 of file mshtml_private.h.

◆ MSHTML_CUSTOM_DISPID_CNT

#define MSHTML_CUSTOM_DISPID_CNT   (MSHTML_DISPID_CUSTOM_MAX-MSHTML_DISPID_CUSTOM_MIN)

Definition at line 251 of file mshtml_private.h.

◆ MSHTML_DISPID_CUSTOM_MAX

#define MSHTML_DISPID_CUSTOM_MAX   0x6fffffff

Definition at line 250 of file mshtml_private.h.

◆ MSHTML_DISPID_CUSTOM_MIN

#define MSHTML_DISPID_CUSTOM_MIN   0x60000000

Definition at line 249 of file mshtml_private.h.

◆ MSHTML_E_NODOC

#define MSHTML_E_NODOC   0x800a025c

Definition at line 88 of file mshtml_private.h.

◆ NO_SHLWAPI_REG

#define NO_SHLWAPI_REG

Definition at line 51 of file mshtml_private.h.

◆ NONAMELESSSTRUCT

#define NONAMELESSSTRUCT

Definition at line 34 of file mshtml_private.h.

◆ NONAMELESSUNION

#define NONAMELESSUNION

Definition at line 33 of file mshtml_private.h.

◆ NS_BINDING_ABORTED

Definition at line 80 of file mshtml_private.h.

◆ NS_ERROR_FAILURE

#define NS_ERROR_FAILURE   ((nsresult)0x80004005L)

Definition at line 68 of file mshtml_private.h.

◆ NS_ERROR_GENERATE_FAILURE

#define NS_ERROR_GENERATE_FAILURE (   module,
  code 
)     ((nsresult) (((UINT32)(1u<<31)) | ((UINT32)(module+0x45)<<16) | ((UINT32)(code))))

Definition at line 64 of file mshtml_private.h.

◆ NS_ERROR_INVALID_ARG

#define NS_ERROR_INVALID_ARG   ((nsresult)0x80070057L)

Definition at line 75 of file mshtml_private.h.

◆ NS_ERROR_INVALID_POINTER

#define NS_ERROR_INVALID_POINTER   ((nsresult)0x80004003L)

Definition at line 72 of file mshtml_private.h.

◆ NS_ERROR_MODULE_NETWORK

#define NS_ERROR_MODULE_NETWORK   6

Definition at line 78 of file mshtml_private.h.

◆ NS_ERROR_NOT_AVAILABLE

#define NS_ERROR_NOT_AVAILABLE   ((nsresult)0x80040111L)

Definition at line 74 of file mshtml_private.h.

◆ NS_ERROR_NOT_IMPLEMENTED

#define NS_ERROR_NOT_IMPLEMENTED   ((nsresult)0x80004001L)

Definition at line 70 of file mshtml_private.h.

◆ NS_ERROR_NULL_POINTER

#define NS_ERROR_NULL_POINTER   NS_ERROR_INVALID_POINTER

Definition at line 73 of file mshtml_private.h.

◆ NS_ERROR_OUT_OF_MEMORY

#define NS_ERROR_OUT_OF_MEMORY   ((nsresult)0x8007000EL)

Definition at line 69 of file mshtml_private.h.

◆ NS_ERROR_UNEXPECTED

#define NS_ERROR_UNEXPECTED   ((nsresult)0x8000ffffL)

Definition at line 76 of file mshtml_private.h.

◆ NS_ERROR_UNKNOWN_PROTOCOL

#define NS_ERROR_UNKNOWN_PROTOCOL   NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 18)

Definition at line 81 of file mshtml_private.h.

◆ NS_FAILED

#define NS_FAILED (   res)    ((res) & 0x80000000)

Definition at line 83 of file mshtml_private.h.

◆ NS_NOINTERFACE

#define NS_NOINTERFACE   ((nsresult)0x80004002L)

Definition at line 71 of file mshtml_private.h.

◆ NS_OK

#define NS_OK   ((nsresult)0x00000000L)

Definition at line 67 of file mshtml_private.h.

◆ NS_SUCCEEDED

#define NS_SUCCEEDED (   res)    (!NS_FAILED(res))

Definition at line 84 of file mshtml_private.h.

◆ NSAPI

#define NSAPI   WINAPI

Definition at line 86 of file mshtml_private.h.

◆ TID_LIST

#define TID_LIST

Definition at line 95 of file mshtml_private.h.

◆ UPDATE_TITLE

#define UPDATE_TITLE   0x0002

Definition at line 1054 of file mshtml_private.h.

◆ UPDATE_UI

#define UPDATE_UI   0x0001

Definition at line 1053 of file mshtml_private.h.

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 29 of file mshtml_private.h.

◆ XDIID

#define XDIID (   iface)    iface ## _tid,

Definition at line 239 of file mshtml_private.h.

◆ XIID

#define XIID (   iface)    iface ## _tid,

Definition at line 238 of file mshtml_private.h.

Typedef Documentation

◆ BSCallback

Definition at line 92 of file mshtml_private.h.

◆ ConnectionPoint

Definition at line 91 of file mshtml_private.h.

◆ ConnectionPointContainer

◆ cp_static_data_t

◆ DispatchEx

Definition at line 253 of file mshtml_private.h.

◆ dispex_data_t

Definition at line 246 of file mshtml_private.h.

◆ dispex_dynamic_data_t

◆ event_target_t

Definition at line 93 of file mshtml_private.h.

◆ HTMLAttributeCollection

◆ HTMLDocumentNode

Definition at line 331 of file mshtml_private.h.

◆ HTMLDocumentObj

Definition at line 332 of file mshtml_private.h.

◆ HTMLDOMNode

Definition at line 90 of file mshtml_private.h.

◆ HTMLFrameBase

Definition at line 333 of file mshtml_private.h.

◆ HTMLInnerWindow

Definition at line 329 of file mshtml_private.h.

◆ HTMLOuterWindow

Definition at line 330 of file mshtml_private.h.

◆ HTMLWindow

Definition at line 328 of file mshtml_private.h.

◆ nsChannelBSC

Definition at line 413 of file mshtml_private.h.

◆ NSContainer

Definition at line 334 of file mshtml_private.h.

◆ nsCycleCollectionTraversalCallback

◆ nsDocumentEventListener

◆ nsWeakReference

Definition at line 648 of file mshtml_private.h.

◆ ScriptHost

Definition at line 342 of file mshtml_private.h.

◆ task_proc_t

typedef void(* task_proc_t) (task_t *)

Definition at line 1076 of file mshtml_private.h.

◆ task_t

typedef struct task_t task_t

Definition at line 1075 of file mshtml_private.h.

Enumeration Type Documentation

◆ dispex_prop_type_t

Enumerator
DISPEXPROP_CUSTOM 
DISPEXPROP_DYNAMIC 
DISPEXPROP_BUILTIN 

Definition at line 320 of file mshtml_private.h.

320 {
dispex_prop_type_t
@ DISPEXPROP_CUSTOM
@ DISPEXPROP_DYNAMIC
@ DISPEXPROP_BUILTIN

◆ global_prop_type_t

Enumerator
GLOBAL_SCRIPTVAR 
GLOBAL_ELEMENTVAR 
GLOBAL_DISPEXVAR 
GLOBAL_FRAMEVAR 

Definition at line 344 of file mshtml_private.h.

344 {
global_prop_type_t
@ GLOBAL_FRAMEVAR
@ GLOBAL_SCRIPTVAR
@ GLOBAL_DISPEXVAR
@ GLOBAL_ELEMENTVAR

◆ SCRIPTMODE

Enumerator
SCRIPTMODE_GECKO 
SCRIPTMODE_ACTIVESCRIPT 

Definition at line 337 of file mshtml_private.h.

337 {
340} SCRIPTMODE;
SCRIPTMODE
@ SCRIPTMODE_ACTIVESCRIPT
@ SCRIPTMODE_GECKO

◆ tid_t

Enumerator
LAST_tid 
LAST_tid 
Database_tid 
Installer_tid 
Record_tid 
Session_tid 
StringList_tid 
SummaryInfo_tid 
View_tid 
LAST_tid 
NULL_tid 
IXMLDOMAttribute_tid 
IXMLDOMCDATASection_tid 
IXMLDOMComment_tid 
IXMLDOMDocument_tid 
IXMLDOMDocument2_tid 
IXMLDOMDocument3_tid 
IXMLDOMDocumentFragment_tid 
IXMLDOMDocumentType_tid 
IXMLDOMElement_tid 
IXMLDOMEntityReference_tid 
IXMLDOMImplementation_tid 
IXMLDOMNamedNodeMap_tid 
IXMLDOMNode_tid 
IXMLDOMNodeList_tid 
IXMLDOMParseError2_tid 
IXMLDOMProcessingInstruction_tid 
IXMLDOMSchemaCollection_tid 
IXMLDOMSchemaCollection2_tid 
IXMLDOMSelection_tid 
IXMLDOMText_tid 
IXMLElement_tid 
IXMLDocument_tid 
IXMLHTTPRequest_tid 
IXSLProcessor_tid 
IXSLTemplate_tid 
IVBSAXAttributes_tid 
IVBSAXContentHandler_tid 
IVBSAXDeclHandler_tid 
IVBSAXDTDHandler_tid 
IVBSAXEntityResolver_tid 
IVBSAXErrorHandler_tid 
IVBSAXLexicalHandler_tid 
IVBSAXLocator_tid 
IVBSAXXMLFilter_tid 
IVBSAXXMLReader_tid 
IMXAttributes_tid 
IMXReaderControl_tid 
IMXWriter_tid 
IVBMXNamespaceManager_tid 
IServerXMLHTTPRequest_tid 
LAST_tid 
NULL_tid 
ITextDocument_tid 
ITextRange_tid 
ITextSelection_tid 
ITextFont_tid 
ITextPara_tid 
LAST_tid 
NULL_tid 
IDictionary_tid 
IDrive_tid 
IDriveCollection_tid 
IFile_tid 
IFileCollection_tid 
IFileSystem3_tid 
IFolder_tid 
IFolderCollection_tid 
ITextStream_tid 
LAST_tid 
NULL_tid 
IWshCollection_tid 
IWshEnvironment_tid 
IWshExec_tid 
IWshShell3_tid 
IWshShortcut_tid 
LAST_tid 

Definition at line 237 of file mshtml_private.h.

237 {
238#define XIID(iface) iface ## _tid,
239#define XDIID(iface) iface ## _tid,
241#undef XIID
242#undef XDIID
244} tid_t;
tid_t
@ LAST_tid
#define TID_LIST

◆ USERMODE

Enumerator
UNKNOWN_USERMODE 
BROWSEMODE 
EDITMODE 

Definition at line 497 of file mshtml_private.h.

497 {
500 EDITMODE
501} USERMODE;
USERMODE
@ BROWSEMODE
@ EDITMODE
@ UNKNOWN_USERMODE

Function Documentation

◆ __WINE_ALLOC_SIZE() [1/2]

static void * __WINE_ALLOC_SIZE ( )
inlinestatic

Definition at line 1127 of file mshtml_private.h.

1128{
1129 return HeapAlloc(GetProcessHeap(), 0, len);
1130}
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
GLenum GLsizei len
Definition: glext.h:6722

◆ __WINE_ALLOC_SIZE() [2/2]

static void * __WINE_ALLOC_SIZE ( )
inlinestatic

◆ abort_window_bindings()

void abort_window_bindings ( HTMLInnerWindow window)

Definition at line 1775 of file navigate.c.

1776{
1777 BSCallback *iter;
1778
1779 remove_target_tasks(window->task_magic);
1780
1781 while(!list_empty(&window->bindings)) {
1782 iter = LIST_ENTRY(window->bindings.next, BSCallback, entry);
1783
1784 TRACE("Aborting %p\n", iter);
1785
1786 IBindStatusCallback_AddRef(&iter->IBindStatusCallback_iface);
1787
1788 if(iter->binding)
1789 IBinding_Abort(iter->binding);
1790 else
1791 iter->vtbl->stop_binding(iter, E_ABORT);
1792
1793 iter->window = NULL;
1794 list_remove(&iter->entry);
1795 list_init(&iter->entry);
1796
1797 IBindStatusCallback_Release(&iter->IBindStatusCallback_iface);
1798 }
1799
1800 if(window->bscallback) {
1801 IBindStatusCallback_Release(&window->bscallback->bsc.IBindStatusCallback_iface);
1802 window->bscallback = NULL;
1803 }
1804
1805 if(window->mon) {
1806 IMoniker_Release(window->mon);
1807 window->mon = NULL;
1808 }
1809}
static void list_remove(struct list_entry *entry)
Definition: list.h:90
static int list_empty(struct list_entry *head)
Definition: list.h:58
static void list_init(struct list_entry *head)
Definition: list.h:51
#define NULL
Definition: types.h:112
uint32_t entry
Definition: isohybrid.c:63
static IHTMLWindow2 * window
Definition: events.c:77
void remove_target_tasks(LONG) DECLSPEC_HIDDEN
Definition: task.c:107
#define TRACE(s)
Definition: solgame.cpp:4
HRESULT(* stop_binding)(BSCallback *, HRESULT)
Definition: binding.h:114
struct list entry
Definition: binding.h:92
IBindStatusCallback IBindStatusCallback_iface
Definition: binding.h:72
IBinding * binding
Definition: binding.h:88
HTMLInnerWindow * window
Definition: binding.h:90
const BSCallbackVtbl * vtbl
Definition: binding.h:77
#define LIST_ENTRY(type)
Definition: queue.h:175
#define E_ABORT
Definition: winerror.h:2366

Referenced by create_pending_window(), detach_inner_window(), release_outer_window(), and set_moniker().

◆ async_start_doc_binding()

HRESULT async_start_doc_binding ( HTMLOuterWindow window,
HTMLInnerWindow pending_window 
)

Definition at line 1758 of file navigate.c.

1759{
1761
1762 TRACE("%p\n", pending_window);
1763
1764 task = heap_alloc(sizeof(start_doc_binding_task_t));
1765 if(!task)
1766 return E_OUTOFMEMORY;
1767
1768 task->window = window;
1769 task->pending_window = pending_window;
1770 IHTMLWindow2_AddRef(&pending_window->base.IHTMLWindow2_iface);
1771
1773}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static void start_doc_binding_task_destr(task_t *_task)
Definition: navigate.c:1750
static void start_doc_binding_proc(task_t *_task)
Definition: navigate.c:1742
HRESULT push_task(task_t *, task_proc_t, task_proc_t, LONG) DECLSPEC_HIDDEN
Definition: task.c:39
IHTMLWindow2 IHTMLWindow2_iface
HTMLOuterWindow * window
Definition: navigate.c:1738
HTMLInnerWindow * pending_window
Definition: navigate.c:1739

Referenced by async_open().

◆ call_docview_84()

void call_docview_84 ( HTMLDocumentObj doc)

Definition at line 173 of file oleobj.c.

174{
175 IOleCommandTarget *olecmd;
176 VARIANT var;
178
179 if(!doc->client)
180 return;
181
182 hres = IOleClientSite_QueryInterface(doc->client, &IID_IOleCommandTarget, (void**)&olecmd);
183 if(FAILED(hres))
184 return;
185
187 hres = IOleCommandTarget_Exec(olecmd, &CGID_ShellDocView, 84, 0, NULL, &var);
188 IOleCommandTarget_Release(olecmd);
189 if(SUCCEEDED(hres) && V_VT(&var) != VT_NULL)
190 FIXME("handle result\n");
191}
#define FIXME(fmt,...)
Definition: debug.h:111
@ VT_NULL
Definition: compat.h:2296
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
const char * var
Definition: shader.c:5666
HRESULT hres
Definition: protocol.c:465
#define V_VT(A)
Definition: oleauto.h:211
IOleClientSite * client
void WINAPI VariantInit(VARIANTARG *pVarg)
Definition: variant.c:568

Referenced by OleObject_SetClientSite(), PersistMoniker_Load(), and super_navigate().

◆ call_property_onchanged()

void call_property_onchanged ( ConnectionPointContainer container,
DISPID  dispid 
)

Definition at line 342 of file conpoint.c.

343{
345 DWORD i;
346
348 if(!cp)
349 return;
350
351 for(i=0; i<cp->sinks_size; i++) {
352 if(cp->sinks[i].propnotif)
353 IPropertyNotifySink_OnChanged(cp->sinks[i].propnotif, dispid);
354 }
355}
static ConnectionPoint * get_cp(ConnectionPointContainer *container, REFIID riid, BOOL do_create)
Definition: conpoint.c:312
#define FALSE
Definition: types.h:117
unsigned long DWORD
Definition: ntddk_ex.h:95
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
POINT cp
Definition: magnifier.c:59
const GUID IID_IPropertyNotifySink

Referenced by HTMLDocument_put_designMode(), notif_readystate(), and parse_complete().

◆ call_set_active_object()

HRESULT call_set_active_object ( IOleInPlaceUIWindow window,
IOleInPlaceActiveObject act_obj 
)

Definition at line 398 of file view.c.

399{
400 static WCHAR html_documentW[30];
401
402 if(act_obj && !html_documentW[0]) {
403 LoadStringW(hInst, IDS_HTMLDOCUMENT, html_documentW,
404 sizeof(html_documentW)/sizeof(WCHAR));
405 }
406
407 return IOleInPlaceUIWindow_SetActiveObject(window, act_obj, act_obj ? html_documentW : NULL);
408}
#define IDS_HTMLDOCUMENT
Definition: resource.h:21
HINSTANCE hInst
Definition: dxdiag.c:13
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by OleDocumentView_UIActivate(), and setup_edit_mode().

◆ clear_task_timer()

HRESULT clear_task_timer ( HTMLInnerWindow window,
BOOL  interval,
DWORD  id 
)

Definition at line 201 of file task.c.

202{
204 task_timer_t *iter;
205
206 if(!thread_data)
207 return S_OK;
208
209 LIST_FOR_EACH_ENTRY(iter, &thread_data->timer_list, task_timer_t, entry) {
210 if(iter->id == id && iter->window == window && !iter->interval == !interval) {
211 release_task_timer(thread_data->thread_hwnd, iter);
212 return S_OK;
213 }
214 }
215
216 WARN("timet not found\n");
217 return S_OK;
218}
#define WARN(fmt,...)
Definition: debug.h:112
thread_data_t * get_thread_data(BOOL create)
Definition: task.c:352
static void release_task_timer(HWND thread_hwnd, task_timer_t *timer)
Definition: task.c:79
#define S_OK
Definition: intsafe.h:52
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
HTMLInnerWindow * window
Definition: task.c:25
DWORD interval
Definition: task.c:28
DWORD id
Definition: task.c:26

Referenced by HTMLWindow2_clearInterval(), and HTMLWindow2_clearTimeout().

◆ close_gecko()

void close_gecko ( void  )

Definition at line 1076 of file nsembed.c.

1077{
1078 TRACE("()\n");
1079
1080 release_nsio();
1082
1083 if(profile_directory) {
1084 nsIFile_Release(profile_directory);
1086 }
1087
1088 if(plugin_directory) {
1089 nsIFile_Release(plugin_directory);
1091 }
1092
1093 if(pCompMgr)
1094 nsIComponentManager_Release(pCompMgr);
1095
1096 if(pServMgr)
1097 nsIServiceManager_Release(pServMgr);
1098
1099 if(cat_mgr)
1100 nsICategoryManager_Release(cat_mgr);
1101
1102 /* Gecko doesn't really support being unloaded */
1103 /* if (hXPCOM) FreeLibrary(hXPCOM); */
1104
1106}
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().

◆ ConnectionPointContainer_Destroy()

void ConnectionPointContainer_Destroy ( ConnectionPointContainer This)

Definition at line 442 of file events.c.

443{
447}
static void ConnectionPoint_Destroy(ConnectionPoint *This)
Definition: events.c:418

Referenced by destroy_htmldoc(), DocHost_Release(), and HTMLElement_destructor().

◆ ConnectionPointContainer_Init()

void ConnectionPointContainer_Init ( ConnectionPointContainer This,
IUnknown outer,
const cpc_entry_t cp_entries 
)

Definition at line 421 of file conpoint.c.

422{
423 This->IConnectionPointContainer_iface.lpVtbl = &ConnectionPointContainerVtbl;
424 This->cp_entries = cp_entries;
425 This->cps = NULL;
426 This->outer = outer;
427 This->forward_container = NULL;
428}
static const IConnectionPointContainerVtbl ConnectionPointContainerVtbl
Definition: conpoint.c:413

◆ cp_from_charset_string()

UINT cp_from_charset_string ( BSTR  charset)

Definition at line 45 of file main.c.

46{
47 MIMECSETINFO info;
49
50 if(!mlang) {
51 IMultiLanguage2 *new_mlang;
52
53 hres = CoCreateInstance(&CLSID_CMultiLanguage, NULL, CLSCTX_INPROC_SERVER,
54 &IID_IMultiLanguage2, (void**)&new_mlang);
55 if(FAILED(hres)) {
56 ERR("Could not create CMultiLanguage instance\n");
57 return CP_UTF8;
58 }
59
60 if(InterlockedCompareExchangePointer((void**)&mlang, new_mlang, NULL))
61 IMultiLanguage2_Release(new_mlang);
62 }
63
64 hres = IMultiLanguage2_GetCharsetInfo(mlang, charset, &info);
65 if(FAILED(hres)) {
66 FIXME("GetCharsetInfo failed: %08x\n", hres);
67 return CP_UTF8;
68 }
69
70 return info.uiInternetEncoding;
71}
#define ERR(fmt,...)
Definition: debug.h:110
CFF_Charset charset
Definition: cffcmap.c:138
static IMultiLanguage2 * mlang
Definition: main.c:43
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
#define InterlockedCompareExchangePointer
Definition: interlocked.h:129
#define CP_UTF8
Definition: nls.h:20

Referenced by get_document_charset(), and nsIOService_NewURI().

◆ create_all_collection()

IHTMLElementCollection * create_all_collection ( HTMLDOMNode node,
BOOL  include_root 
)

Definition at line 654 of file htmlelemcol.c.

655{
656 elem_vector_t buf = {NULL, 0, 8};
657
658 buf.buf = heap_alloc(buf.size*sizeof(HTMLElement*));
659
660 if(include_root) {
663 }
664 create_all_list(node->doc, node, &buf);
666
667 return HTMLElementCollection_Create(buf.buf, buf.len);
668}
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
static void elem_vector_add(elem_vector_t *buf, HTMLElement *elem)
Definition: htmlelemcol.c:54
static HTMLElement * elem_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlelemcol.c:47
static void create_all_list(HTMLDocumentNode *doc, HTMLDOMNode *elem, elem_vector_t *buf)
Definition: htmlelemcol.c:614
static IHTMLElementCollection * HTMLElementCollection_Create(HTMLElement **elems, DWORD len)
Definition: htmlelemcol.c:809
static void elem_vector_normalize(elem_vector_t *buf)
Definition: htmlelemcol.c:64
static void node_addref(HTMLDOMNode *node)
Definition: dlist.c:348

Referenced by HTMLDocument_get_all(), and HTMLElement_get_all().

◆ create_collection_from_htmlcol()

IHTMLElementCollection * create_collection_from_htmlcol ( HTMLDocumentNode doc,
nsIDOMHTMLCollection nscol 
)

Definition at line 705 of file htmlelemcol.c.

706{
707 UINT32 length = 0, i;
710 HRESULT hres = S_OK;
711
712 nsIDOMHTMLCollection_GetLength(nscol, &length);
713
714 buf.len = buf.size = length;
715 if(buf.len) {
716 nsIDOMNode *nsnode;
717
718 buf.buf = heap_alloc(buf.size*sizeof(HTMLElement*));
719
720 for(i=0; i<length; i++) {
721 nsIDOMHTMLCollection_Item(nscol, i, &nsnode);
722 hres = get_node(doc, nsnode, TRUE, &node);
723 nsIDOMNode_Release(nsnode);
724 if(FAILED(hres))
725 break;
727 }
728 }else {
729 buf.buf = NULL;
730 }
731
732 if(FAILED(hres)) {
733 heap_free(buf.buf);
734 return NULL;
735 }
736
737 return HTMLElementCollection_Create(buf.buf, buf.len);
738}
unsigned int UINT32
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define TRUE
Definition: types.h:120
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
Definition: htmlnode.c:1339

Referenced by HTMLDocument_get_anchors(), HTMLDocument_get_applets(), HTMLDocument_get_forms(), HTMLDocument_get_images(), HTMLDocument_get_links(), HTMLDocument_get_scripts(), HTMLElement2_getElementsByTagName(), HTMLTable_get_rows(), HTMLTable_get_tBodies(), and HTMLTableRow_get_cells().

◆ create_collection_from_nodelist()

IHTMLElementCollection * create_collection_from_nodelist ( HTMLDocumentNode doc,
nsIDOMNodeList nslist 
)

Definition at line 670 of file htmlelemcol.c.

671{
672 UINT32 length = 0, i;
676
677 nsIDOMNodeList_GetLength(nslist, &length);
678
679 buf.len = 0;
680 buf.size = length;
681 if(length) {
682 nsIDOMNode *nsnode;
683
684 buf.buf = heap_alloc(buf.size*sizeof(HTMLElement*));
685
686 for(i=0; i<length; i++) {
687 nsIDOMNodeList_Item(nslist, i, &nsnode);
688 if(is_elem_node(nsnode)) {
689 hres = get_node(doc, nsnode, TRUE, &node);
690 if(FAILED(hres))
691 continue;
692 buf.buf[buf.len++] = elem_from_HTMLDOMNode(node);
693 }
694 nsIDOMNode_Release(nsnode);
695 }
696
698 }else {
699 buf.buf = NULL;
700 }
701
702 return HTMLElementCollection_Create(buf.buf, buf.len);
703}
static BOOL is_elem_node(nsIDOMNode *node)
Definition: htmlelemcol.c:76

Referenced by HTMLDocument3_getElementsByName(), HTMLDocument3_getElementsByTagName(), and HTMLElement_get_children().

◆ create_doc_from_nsdoc()

HRESULT create_doc_from_nsdoc ( nsIDOMHTMLDocument nsdoc,
HTMLDocumentObj doc_obj,
HTMLInnerWindow window,
HTMLDocumentNode **  ret 
)

Definition at line 4620 of file htmldoc.c.

4621{
4622 HTMLDocumentNode *doc;
4623
4624 doc = alloc_doc_node(doc_obj, window);
4625 if(!doc)
4626 return E_OUTOFMEMORY;
4627
4628 if(!doc_obj->basedoc.window || window->base.outer_window == doc_obj->basedoc.window)
4630
4631 HTMLDOMNode_Init(doc, &doc->node, (nsIDOMNode*)nsdoc);
4632
4633 nsIDOMHTMLDocument_AddRef(nsdoc);
4634 doc->nsdoc = nsdoc;
4635
4637 doc_init_events(doc);
4638
4641
4642 *ret = doc;
4643 return S_OK;
4644}
static const NodeImplVtbl HTMLDocumentNodeImplVtbl
Definition: htmldoc.c:4473
static HTMLDocumentNode * alloc_doc_node(HTMLDocumentObj *doc_obj, HTMLInnerWindow *window)
Definition: htmldoc.c:4593
HRESULT doc_init_events(HTMLDocumentNode *doc)
Definition: htmlevent.c:1591
void HTMLDOMNode_Init(HTMLDocumentNode *doc, HTMLDOMNode *node, nsIDOMNode *nsnode)
Definition: htmlnode.c:1196
void init_document_mutation(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: mutation.c:726
struct ConnectionPointContainer * forward_container
ConnectionPointContainer * cp_container
const NodeImplVtbl * vtbl
HTMLDOMNode node
nsIDOMHTMLDocument * nsdoc
HTMLDocument basedoc
HTMLDocument basedoc
HTMLOuterWindow * window
ConnectionPointContainer cp_container
int ret

Referenced by update_window_doc().

◆ create_dom_implementation()

HRESULT create_dom_implementation ( IHTMLDOMImplementation **  ret)

Definition at line 168 of file omnavigator.c.

169{
170 HTMLDOMImplementation *dom_implementation;
171
172 dom_implementation = heap_alloc_zero(sizeof(*dom_implementation));
173 if(!dom_implementation)
174 return E_OUTOFMEMORY;
175
176 dom_implementation->IHTMLDOMImplementation_iface.lpVtbl = &HTMLDOMImplementationVtbl;
177 dom_implementation->ref = 1;
178
179 init_dispex(&dom_implementation->dispex, (IUnknown*)&dom_implementation->IHTMLDOMImplementation_iface,
181
182 *ret = &dom_implementation->IHTMLDOMImplementation_iface;
183 return S_OK;
184}
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
Definition: dispex.c:919
static dispex_static_data_t HTMLDOMImplementation_dispex
Definition: omnavigator.c:161
static const IHTMLDOMImplementationVtbl HTMLDOMImplementationVtbl
Definition: omnavigator.c:146
IHTMLDOMImplementation IHTMLDOMImplementation_iface
Definition: omnavigator.c:46

Referenced by HTMLDocument5_get_implementation().

◆ create_element()

HRESULT create_element ( HTMLDocumentNode doc,
const WCHAR tag,
HTMLElement **  ret 
)

Definition at line 275 of file htmlelem.c.

276{
277 nsIDOMHTMLElement *nselem;
279
280 /* Use owner doc if called on document fragment */
281 if(!doc->nsdoc)
282 doc = doc->node.doc;
283
284 hres = create_nselem(doc, tag, &nselem);
285 if(FAILED(hres))
286 return hres;
287
288 hres = HTMLElement_Create(doc, (nsIDOMNode*)nselem, TRUE, ret);
289 nsIDOMHTMLElement_Release(nselem);
290 return hres;
291}
HRESULT HTMLElement_Create(HTMLDocumentNode *doc, nsIDOMNode *nsnode, BOOL use_generic, HTMLElement **ret)
Definition: htmlelem.c:4032
HRESULT create_nselem(HTMLDocumentNode *doc, const WCHAR *tag, nsIDOMHTMLElement **ret)
Definition: htmlelem.c:246
HTMLDocumentNode * doc
Definition: ecma_167.h:138

Referenced by HTMLDocument_createElement(), and HTMLDocument_createStyleSheet().

◆ create_history()

HRESULT create_history ( HTMLInnerWindow window,
OmHistory **  ret 
)

Definition at line 334 of file omnavigator.c.

335{
336 OmHistory *history;
337
338 history = heap_alloc_zero(sizeof(*history));
339 if(!history)
340 return E_OUTOFMEMORY;
341
343 history->IOmHistory_iface.lpVtbl = &OmHistoryVtbl;
344 history->ref = 1;
345
346 history->window = window;
347
348 *ret = history;
349 return S_OK;
350}
static dispex_static_data_t OmHistory_dispex
Definition: omnavigator.c:326
static const IOmHistoryVtbl OmHistoryVtbl
Definition: omnavigator.c:308
IOmHistory IOmHistory_iface
HTMLInnerWindow * window
DispatchEx dispex

Referenced by HTMLWindow2_get_history().

◆ create_nscommand_params()

nsICommandParams * create_nscommand_params ( void  )

Definition at line 865 of file nsembed.c.

866{
868 nsresult nsres;
869
870 if(!pCompMgr)
871 return NULL;
872
873 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
874 NS_COMMANDPARAMS_CONTRACTID, NULL, &IID_nsICommandParams,
875 (void**)&ret);
876 if(NS_FAILED(nsres))
877 ERR("Could not get nsICommandParams\n");
878
879 return ret;
880}
#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 2076 of file nsembed.c.

2077{
2079 HRESULT hres;
2080
2081 if(!load_gecko())
2083
2084 ret = heap_alloc_zero(sizeof(NSContainer));
2085 if(!ret)
2086 return E_OUTOFMEMORY;
2087
2088 ret->nsIWebBrowserChrome_iface.lpVtbl = &nsWebBrowserChromeVtbl;
2089 ret->nsIContextMenuListener_iface.lpVtbl = &nsContextMenuListenerVtbl;
2090 ret->nsIURIContentListener_iface.lpVtbl = &nsURIContentListenerVtbl;
2091 ret->nsIEmbeddingSiteWindow_iface.lpVtbl = &nsEmbeddingSiteWindowVtbl;
2092 ret->nsITooltipListener_iface.lpVtbl = &nsTooltipListenerVtbl;
2093 ret->nsIInterfaceRequestor_iface.lpVtbl = &nsInterfaceRequestorVtbl;
2094 ret->nsISupportsWeakReference_iface.lpVtbl = &nsSupportsWeakReferenceVtbl;
2095
2096 ret->doc = doc;
2097 ret->ref = 1;
2098
2100 if(SUCCEEDED(hres))
2101 *_ret = ret;
2102 else
2103 nsIWebBrowserChrome_Release(&ret->nsIWebBrowserChrome_iface);
2104 return hres;
2105}
static const nsIInterfaceRequestorVtbl nsInterfaceRequestorVtbl
Definition: nsembed.c:1908
BOOL load_gecko(void)
Definition: nsembed.c:742
static const nsISupportsWeakReferenceVtbl nsSupportsWeakReferenceVtbl
Definition: nsembed.c:1961
static const nsITooltipListenerVtbl nsTooltipListenerVtbl
Definition: nsembed.c:1863
static const nsIWebBrowserChromeVtbl nsWebBrowserChromeVtbl
Definition: nsembed.c:1399
static const nsIURIContentListenerVtbl nsURIContentListenerVtbl
Definition: nsembed.c:1673
static const nsIEmbeddingSiteWindowVtbl nsEmbeddingSiteWindowVtbl
Definition: nsembed.c:1804
static HRESULT init_nscontainer(NSContainer *nscontainer)
Definition: nsembed.c:1968
static const nsIContextMenuListenerVtbl nsContextMenuListenerVtbl
Definition: nsembed.c:1509
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663

Referenced by HTMLDocument_Create().

◆ create_nselem()

HRESULT create_nselem ( HTMLDocumentNode doc,
const WCHAR tag,
nsIDOMHTMLElement **  ret 
)

Definition at line 246 of file htmlelem.c.

247{
248 nsIDOMElement *nselem;
249 nsAString tag_str;
250 nsresult nsres;
251
252 if(!doc->nsdoc) {
253 WARN("NULL nsdoc\n");
254 return E_UNEXPECTED;
255 }
256
257 nsAString_InitDepend(&tag_str, tag);
258 nsres = nsIDOMHTMLDocument_CreateElement(doc->nsdoc, &tag_str, &nselem);
259 nsAString_Finish(&tag_str);
260 if(NS_FAILED(nsres)) {
261 ERR("CreateElement failed: %08x\n", nsres);
262 return E_FAIL;
263 }
264
265 nsres = nsIDOMElement_QueryInterface(nselem, &IID_nsIDOMHTMLElement, (void**)ret);
266 nsIDOMElement_Release(nselem);
267 if(NS_FAILED(nsres)) {
268 ERR("Could not get nsIDOMHTMLElement iface: %08x\n", nsres);
269 return E_FAIL;
270 }
271
272 return S_OK;
273}
#define E_FAIL
Definition: ddrawi.h:102
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826
#define E_UNEXPECTED
Definition: winerror.h:2456

Referenced by create_element(), exec_hyperlink(), exec_indent(), HTMLImageElementFactory_create(), HTMLOptionElementFactory_create(), and set_font_size().

◆ 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}
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 882 of file nsembed.c.

883{
885 nsresult nsres;
886
887 if(!pCompMgr)
888 return NULL;
889
890 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
891 NS_VARIANT_CONTRACTID, NULL, &IID_nsIWritableVariant, (void**)&ret);
892 if(NS_FAILED(nsres))
893 ERR("Could not get nsIVariant\n");
894
895 return ret;
896}
#define NS_VARIANT_CONTRACTID
Definition: nsembed.c:32

Referenced by HTMLSelectElement_add().

◆ create_nsxhr()

nsIXMLHttpRequest * create_nsxhr ( nsIDOMWindow nswindow)

Definition at line 2156 of file nsembed.c.

2157{
2159 nsIPrincipal *nspri;
2160 nsIGlobalObject *nsglo;
2161 nsIXMLHttpRequest *nsxhr;
2162 nsresult nsres;
2163
2164 nsres = nsIServiceManager_GetServiceByContractID(pServMgr,
2166 &IID_nsIScriptSecurityManager, (void**)&secman);
2167 if(NS_FAILED(nsres)) {
2168 ERR("Could not get sec manager service: %08x\n", nsres);
2169 return NULL;
2170 }
2171
2172 nsres = nsIScriptSecurityManager_GetSystemPrincipal(secman, &nspri);
2173 nsIScriptSecurityManager_Release(secman);
2174 if(NS_FAILED(nsres)) {
2175 ERR("GetSystemPrincipal failed: %08x\n", nsres);
2176 return NULL;
2177 }
2178
2179 nsres = nsIDOMWindow_QueryInterface(nswindow, &IID_nsIGlobalObject, (void **)&nsglo);
2180 assert(nsres == NS_OK);
2181
2182 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
2183 NS_XMLHTTPREQUEST_CONTRACTID, NULL, &IID_nsIXMLHttpRequest,
2184 (void**)&nsxhr);
2185 if(NS_FAILED(nsres)) {
2186 ERR("Could not get nsIXMLHttpRequest: %08x\n", nsres);
2187 nsISupports_Release(nspri);
2188 nsIGlobalObject_Release(nsglo);
2189 return NULL;
2190 }
2191
2192 nsres = nsIXMLHttpRequest_Init(nsxhr, nspri, NULL, nsglo, NULL, NULL);
2193
2194 nsISupports_Release(nspri);
2195 nsIGlobalObject_Release(nsglo);
2196 if(NS_FAILED(nsres)) {
2197 ERR("nsIXMLHttpRequest_Init failed: %08x\n", nsres);
2198 nsIXMLHttpRequest_Release(nsxhr);
2199 return NULL;
2200 }
2201 return nsxhr;
2202}
#define assert(x)
Definition: debug.h:53
#define NS_OK
#define NS_SCRIPTSECURITYMANAGER_CONTRACTID
Definition: nsembed.c:35
#define NS_XMLHTTPREQUEST_CONTRACTID
Definition: nsembed.c:34

Referenced by HTMLXMLHttpRequestFactory_create().

◆ create_pending_window()

HRESULT create_pending_window ( HTMLOuterWindow outer_window,
nsChannelBSC channelbsc 
)

Definition at line 3009 of file htmlwindow.c.

3010{
3011 HTMLInnerWindow *pending_window;
3012 HRESULT hres;
3013
3014 hres = create_inner_window(outer_window, outer_window->mon /* FIXME */, &pending_window);
3015 if(FAILED(hres))
3016 return hres;
3017
3018 if(channelbsc) {
3019 IBindStatusCallback_AddRef(&channelbsc->bsc.IBindStatusCallback_iface);
3020 pending_window->bscallback = channelbsc;
3021 }
3022
3023 if(outer_window->pending_window) {
3025 outer_window->pending_window->base.outer_window = NULL;
3026 IHTMLWindow2_Release(&outer_window->pending_window->base.IHTMLWindow2_iface);
3027 }
3028
3029 outer_window->pending_window = pending_window;
3030 return S_OK;
3031}
static HRESULT create_inner_window(HTMLOuterWindow *outer_window, IMoniker *mon, HTMLInnerWindow **ret)
Definition: htmlwindow.c:2917
void abort_window_bindings(HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: navigate.c:1775
nsChannelBSC * bscallback
HTMLInnerWindow * pending_window
HTMLOuterWindow * outer_window
BSCallback bsc
Definition: binding.h:98

Referenced by async_open(), HTMLOuterWindow_Create(), and set_moniker().

◆ create_storage()

HRESULT create_storage ( IHTMLStorage **  p)

Definition at line 188 of file htmlstorage.c.

189{
190 HTMLStorage *storage;
191
192 storage = heap_alloc_zero(sizeof(*storage));
193 if(!storage)
194 return E_OUTOFMEMORY;
195
196 storage->IHTMLStorage_iface.lpVtbl = &HTMLStorageVtbl;
197 storage->ref = 1;
199
200 *p = &storage->IHTMLStorage_iface;
201 return S_OK;
202}
GLfloat GLfloat p
Definition: glext.h:8902
static const IHTMLStorageVtbl HTMLStorageVtbl
Definition: htmlstorage.c:160
static dispex_static_data_t HTMLStorage_dispex
Definition: htmlstorage.c:181
DispatchEx dispex
Definition: htmlstorage.c:22
IHTMLStorage IHTMLStorage_iface
Definition: htmlstorage.c:23

◆ debugstr_mshtml_guid()

const char * debugstr_mshtml_guid ( const GUID iid)

Definition at line 542 of file main.c.

543{
544#define X(x) if(IsEqualGUID(iid, &x)) return #x
545 X(DIID_HTMLDocumentEvents);
546 X(DIID_HTMLDocumentEvents2);
547 X(DIID_HTMLTableEvents);
548 X(DIID_HTMLTextContainerEvents);
549 X(IID_HTMLPluginContainer);
552 X(IID_ICustomDoc);
554 X(IID_IDispatchEx);
555 X(IID_IDispatchJS);
556 X(IID_UndocumentedScriptIface);
558 X(IID_IEnumVARIANT);
559 X(IID_IHlinkTarget);
560 X(IID_IHTMLDocument6);
561 X(IID_IHTMLDocument7);
562 X(IID_IHTMLEditServices);
563 X(IID_IHTMLFramesCollection2);
564 X(IID_IHTMLPrivateWindow);
565 X(IID_IHtmlLoadOptions);
566 X(IID_IInternetHostSecurityManager);
567 X(IID_IMonikerProp);
568 X(IID_IObjectIdentity);
569 X(IID_IObjectSafety);
572 X(IID_IOleCommandTarget);
574 X(IID_IOleDocument);
575 X(IID_IOleDocumentView);
579 X(IID_IOleInPlaceObjectWindowless);
583 X(IID_IOptionArray);
586 X(IID_IPersistHistory);
587 X(IID_IPersistMoniker);
591 X(IID_IServiceProvider);
592 X(IID_ISupportErrorInfo);
593 X(IID_ITargetContainer);
594 X(IID_ITravelLogClient);
598 X(IID_IViewObjectEx);
599 X(IID_nsCycleCollectionISupports);
600 X(IID_nsXPCOMCycleCollectionParticipant);
601#define XIID(x) X(IID_##x);
602#define XDIID(x) X(DIID_##x);
604#undef XIID
605#undef XDIID
606#undef X
607
608 return debugstr_guid(iid);
609}
const GUID IID_IUnknown
#define X(x)
#define TID_LIST
Definition: ieframe.h:306
#define debugstr_guid
Definition: kernel32.h:35
const IID IID_IObjectWithSite
const GUID IID_IOleInPlaceActiveObject
const GUID IID_IViewObject
const GUID IID_IOleContainer
const GUID IID_IEnumConnections
const GUID IID_IConnectionPointContainer
const GUID IID_IConnectionPoint
const GUID IID_IProvideClassInfo
const GUID IID_IOleInPlaceFrame
const GUID IID_IOleWindow
const GUID IID_IViewObject2
const GUID IID_IDispatch
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
const GUID IID_IOleInPlaceUIWindow
const GUID IID_IOleControl
const GUID IID_IPersistStreamInit
const GUID IID_IPersistFile
const GUID IID_IPersist
Definition: proxy.cpp:14

Referenced by ClassFactory_QueryInterface(), ConnectionPoint_QueryInterface(), ConnectionPointContainer_FindConnectionPoint(), CustomDoc_QueryInterface(), DllGetClassObject(), editsvcs_QueryInterface(), EnumConnections_QueryInterface(), Function_QueryInterface(), get_typeinfo(), HTMLAttributeCollection_QueryInterface(), HTMLCurrentStyle_QueryInterface(), HTMLDocument_Create(), HTMLDocumentNode_QI(), HTMLDOMAttribute_QueryInterface(), HTMLDOMChildrenCollection_QueryInterface(), HTMLDOMChildrenCollectionEnum_QueryInterface(), HTMLDOMImplementation_QueryInterface(), HTMLDOMNode_QI(), HTMLDOMTextNode_QI(), HTMLElementCollection_QueryInterface(), HTMLElementCollectionEnum_QueryInterface(), HTMLEmbedElement_QI(), HTMLEventObj_QueryInterface(), HTMLFiltersCollection_QueryInterface(), HTMLHeadElement_QI(), HTMLImageElementFactory_QueryInterface(), HTMLLoadOptions_Create(), HtmlLoadOptions_QueryInterface(), HTMLLocation_QueryInterface(), HTMLMimeTypesCollection_QueryInterface(), HTMLObjectElement_QI(), HTMLOptionElementFactory_QueryInterface(), HTMLPluginsCollection_QueryInterface(), HTMLRect_QueryInterface(), HTMLScreen_QueryInterface(), HTMLSelectionObject_QueryInterface(), HTMLStorage_QueryInterface(), HTMLStyle_QueryInterface(), HTMLStyleSheet_QueryInterface(), HTMLStyleSheetRulesCollection_QueryInterface(), HTMLStyleSheetsCollection_QueryInterface(), HTMLTitleElement_QI(), HTMLTxtRange_QueryInterface(), HTMLWindow2_QueryInterface(), HTMLWindowSP_QueryService(), HTMLXMLHttpRequest_QueryInterface(), HTMLXMLHttpRequestFactory_QueryInterface(), InPlaceFrame_QueryInterface(), InPlaceUIWindow_QueryInterface(), OmHistory_QueryInterface(), OmNavigator_QueryInterface(), SupportErrorInfo_InterfaceSupportsErrorInfo(), typeinfo_invoke(), and wrapper_QueryInterface().

◆ DEFINE_GUID() [1/11]

DEFINE_GUID ( CLSID_AboutProtocol  ,
0x3050F406  ,
0x98B5  ,
0x11CF  ,
0xBB  ,
0x82  ,
0x00  ,
0xAA  ,
0x00  ,
0xBD  ,
0xCE  ,
0x0B   
)

◆ DEFINE_GUID() [2/11]

DEFINE_GUID ( CLSID_CMarkup  ,
0x3050f4fb  ,
0x98b5  ,
0x11cf  ,
0xbb  ,
0x82  ,
0x00  ,
0xaa  ,
0x00  ,
0xbd  ,
0xce  ,
0x0b   
)

◆ DEFINE_GUID() [3/11]

DEFINE_GUID ( CLSID_JScript  ,
0xf414c260  ,
0x6ac0  ,
0x11cf  ,
0xb6  ,
0xd1  ,
0x00  ,
0xaa  ,
0x00  ,
0xbb  ,
0xbb  ,
0x58   
)

◆ DEFINE_GUID() [4/11]

DEFINE_GUID ( CLSID_JSProtocol  ,
0x3050F3B2  ,
0x98B5  ,
0x11CF  ,
0xBB  ,
0x82  ,
0x00  ,
0xAA  ,
0x00  ,
0xBD  ,
0xCE  ,
0x0B   
)

◆ DEFINE_GUID() [5/11]

DEFINE_GUID ( CLSID_MailtoProtocol  ,
0x3050F3DA  ,
0x98B5  ,
0x11CF  ,
0xBB  ,
0x82  ,
0x00  ,
0xAA  ,
0x00  ,
0xBD  ,
0xCE  ,
0x0B   
)

◆ DEFINE_GUID() [6/11]

DEFINE_GUID ( CLSID_ResProtocol  ,
0x3050F3BC  ,
0x98B5  ,
0x11CF  ,
0xBB  ,
0x82  ,
0x00  ,
0xAA  ,
0x00  ,
0xBD  ,
0xCE  ,
0x0B   
)

◆ DEFINE_GUID() [7/11]

DEFINE_GUID ( CLSID_SysimageProtocol  ,
0x76E67A63  ,
0x06E9  ,
0x11D2  ,
0xA8  ,
0x40  ,
0x00  ,
0x60  ,
0x08  ,
0x05  ,
0x93  ,
0x82   
)

◆ DEFINE_GUID() [8/11]

DEFINE_GUID ( CLSID_VBScript  ,
0xb54f3741  ,
0x5b07  ,
0x11cf  ,
0xa4  ,
0xb0  ,
0x00  ,
0xaa  ,
0x00  ,
0x4a  ,
0x55  ,
0xe8   
)

◆ DEFINE_GUID() [9/11]

DEFINE_GUID ( IID_IDispatchJS  ,
0x719c3050  ,
0xf9d3  ,
0x11cf  ,
0xa4  ,
0x93  ,
0x00  ,
0x40  ,
0x05  ,
0x23  ,
0xa8  ,
0xa6   
)

◆ DEFINE_GUID() [10/11]

DEFINE_GUID ( IID_nsXPCOMCycleCollectionParticipant  ,
0x9674489b  ,
0x1f6f  ,
0x4550  ,
0xa7  ,
0x30  ,
0xcc  ,
0xae  ,
0xdd  ,
0x10  ,
0x4c  ,
0xf9   
)

◆ DEFINE_GUID() [11/11]

DEFINE_GUID ( IID_UndocumentedScriptIface  ,
0x719c3050  ,
0xf9d3  ,
0x11cf  ,
0xa4  ,
0x93  ,
0x00  ,
0x40  ,
0x05  ,
0x23  ,
0xa8  ,
0xa0   
)

◆ DEFINE_OLEGUID()

DEFINE_OLEGUID ( CGID_DocHostCmdPriv  ,
0x000214D4L  ,
,
 
)

◆ detach_ranges()

void detach_ranges ( HTMLDocumentNode This)

Definition at line 1747 of file txtrange.c.

1748{
1749 HTMLTxtRange *iter;
1750
1751 LIST_FOR_EACH_ENTRY(iter, &This->range_list, HTMLTxtRange, entry) {
1752 iter->doc = NULL;
1753 }
1754}
HTMLDocumentNode * doc
Definition: txtrange.c:32

Referenced by HTMLDocumentNode_destructor().

◆ detach_selection()

void detach_selection ( HTMLDocumentNode This)

Definition at line 347 of file selection.c.

348{
350
351 LIST_FOR_EACH_ENTRY(iter, &This->selection_list, HTMLSelectionObject, entry) {
352 iter->doc = NULL;
353 }
354}
HTMLDocumentNode * doc
Definition: selection.c:29

Referenced by HTMLDocumentNode_destructor().

◆ dispex_get_dprop_ref()

HRESULT dispex_get_dprop_ref ( DispatchEx This,
const WCHAR name,
BOOL  alloc,
VARIANT **  ret 
)

Definition at line 555 of file dispex.c.

556{
557 dynamic_prop_t *prop;
559
560 hres = get_dynamic_prop(This, name, alloc ? fdexNameEnsure : 0, &prop);
561 if(FAILED(hres))
562 return hres;
563
564 *ret = &prop->var;
565 return S_OK;
566}
static HRESULT get_dynamic_prop(DispatchEx *This, const WCHAR *name, DWORD flags, dynamic_prop_t **ret)
Definition: dispex.c:499
#define alloc
Definition: rosglue.h:13
VARIANT var
Definition: dispex.c:58
Definition: name.c:39

Referenced by get_event_handler(), HTMLElement3_get_disabled(), HTMLElement3_put_disabled(), HTMLElement_get_title(), HTMLElement_put_title(), HTMLStyle3_get_zoom(), HTMLStyle3_put_zoom(), remove_event_handler(), and set_event_handler().

◆ dispex_get_dynid()

HRESULT dispex_get_dynid ( DispatchEx This,
const WCHAR name,
DISPID id 
)

Definition at line 568 of file dispex.c.

569{
570 dynamic_prop_t *prop;
572
573 hres = get_dynamic_prop(This, name, fdexNameEnsure, &prop);
574 if(FAILED(hres))
575 return hres;
576
577 *id = DISPID_DYNPROP_0 + (prop - This->dynamic_data->props);
578 return S_OK;
579}
#define DISPID_DYNPROP_0
Definition: dispex.c:85

Referenced by HTMLWindow_invoke().

◆ dispex_query_interface()

BOOL dispex_query_interface ( DispatchEx This,
REFIID  riid,
void **  ppv 
)

Definition at line 1656 of file dispex.c.

1657{
1659 *ppv = &This->IDispatchEx_iface;
1660 else if(IsEqualGUID(&IID_IDispatchEx, riid))
1661 *ppv = &This->IDispatchEx_iface;
1662 else if(IsEqualGUID(&IID_IDispatchJS, riid))
1663 *ppv = NULL;
1664 else if(IsEqualGUID(&IID_UndocumentedScriptIface, riid))
1665 *ppv = NULL;
1666 else
1667 return FALSE;
1668
1669 if(*ppv)
1670 IUnknown_AddRef((IUnknown*)*ppv);
1671 return TRUE;
1672}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147

◆ dispex_traverse()

void dispex_traverse ( DispatchEx This,
nsCycleCollectionTraversalCallback cb 
)

Definition at line 1674 of file dispex.c.

1675{
1676 dynamic_prop_t *prop;
1677
1678 if(!This->dynamic_data)
1679 return;
1680
1681 for(prop = This->dynamic_data->props; prop < This->dynamic_data->props + This->dynamic_data->prop_cnt; prop++) {
1682 if(V_VT(&prop->var) == VT_DISPATCH)
1683 note_cc_edge((nsISupports*)V_DISPATCH(&prop->var), "dispex_data", cb);
1684 }
1685
1686 /* FIXME: Traverse func_disps */
1687}
@ VT_DISPATCH
Definition: compat.h:2304
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33
#define V_DISPATCH(A)
Definition: oleauto.h:239

Referenced by HTMLDOMNode_traverse().

◆ dispex_unlink()

void dispex_unlink ( DispatchEx This)

Definition at line 1689 of file dispex.c.

1690{
1691 dynamic_prop_t *prop;
1692
1693 if(!This->dynamic_data)
1694 return;
1695
1696 for(prop = This->dynamic_data->props; prop < This->dynamic_data->props + This->dynamic_data->prop_cnt; prop++) {
1697 if(V_VT(&prop->var) == VT_DISPATCH) {
1698 V_VT(&prop->var) = VT_EMPTY;
1699 IDispatch_Release(V_DISPATCH(&prop->var));
1700 }else {
1701 VariantClear(&prop->var);
1702 }
1703 }
1704}
@ VT_EMPTY
Definition: compat.h:2295
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:648

Referenced by HTMLDOMNode_unlink().

◆ do_ns_command()

void do_ns_command ( HTMLDocument This,
const char cmd,
nsICommandParams nsparam 
)

Definition at line 24 of file olecmd.c.

25{
26 nsICommandManager *cmdmgr;
27 nsresult nsres;
28
29 TRACE("(%p)\n", This);
30
31 if(!This->doc_obj || !This->doc_obj->nscontainer)
32 return;
33
34 nsres = get_nsinterface((nsISupports*)This->doc_obj->nscontainer->webbrowser, &IID_nsICommandManager, (void**)&cmdmgr);
35 if(NS_FAILED(nsres)) {
36 ERR("Could not get nsICommandManager: %08x\n", nsres);
37 return;
38 }
39
40 nsres = nsICommandManager_DoCommand(cmdmgr, cmd, nsparam, This->window->nswindow);
41 if(NS_FAILED(nsres))
42 ERR("DoCommand(%s) failed: %08x\n", debugstr_a(cmd), nsres);
43
44 nsICommandManager_Release(cmdmgr);
45}
#define debugstr_a
Definition: kernel32.h:31
nsresult get_nsinterface(nsISupports *, REFIID, void **) DECLSPEC_HIDDEN
Definition: nsembed.c:907
Definition: ftp_var.h:139

Referenced by exec_bold(), exec_copy(), exec_forecolor(), exec_horizontalline(), exec_indent(), exec_italic(), exec_mshtml_copy(), exec_orderlist(), exec_outdent(), exec_select_all(), exec_underline(), exec_unorderlist(), set_ns_align(), and set_ns_fontname().

◆ do_query_service()

HRESULT do_query_service ( IUnknown unk,
REFGUID  guid_service,
REFIID  riid,
void **  ppv 
)

Definition at line 148 of file main.c.

149{
152
153 hres = IUnknown_QueryInterface(unk, &IID_IServiceProvider, (void**)&sp);
154 if(FAILED(hres))
155 return hres;
156
157 hres = IServiceProvider_QueryService(sp, guid_service, riid, ppv);
158 IServiceProvider_Release(sp);
159 return hres;
160}
static const WCHAR sp[]
Definition: suminfo.c:287

Referenced by hlink_frame_navigate(), HTMLWindow2_open(), navigate_new_window(), OleObject_SetClientSite(), and ServiceProvider_QueryService().

◆ editor_exec_copy()

HRESULT editor_exec_copy ( HTMLDocument This,
DWORD  cmdexecopt,
VARIANT in,
VARIANT out 
)

Definition at line 870 of file editor.c.

871{
873
874 if(!This->doc_obj->nscontainer)
875 return E_FAIL;
876
877 do_ns_editor_command(This->doc_obj->nscontainer, NSCMD_COPY);
878 return S_OK;
879}
#define NSCMD_COPY
Definition: editor.c:26
static void do_ns_editor_command(NSContainer *This, const char *cmd)
Definition: editor.c:99
#define UPDATE_UI
void update_doc(HTMLDocument *, DWORD) DECLSPEC_HIDDEN
Definition: view.c:62

Referenced by exec_mshtml_copy().

◆ editor_exec_cut()

HRESULT editor_exec_cut ( HTMLDocument This,
DWORD  cmdexecopt,
VARIANT in,
VARIANT out 
)

Definition at line 881 of file editor.c.

882{
884
885 if(!This->doc_obj->nscontainer)
886 return E_FAIL;
887
888 do_ns_editor_command(This->doc_obj->nscontainer, NSCMD_CUT);
889 return S_OK;
890}
#define NSCMD_CUT
Definition: editor.c:27

Referenced by exec_mshtml_cut().

◆ editor_exec_paste()

HRESULT editor_exec_paste ( HTMLDocument This,
DWORD  cmdexecopt,
VARIANT in,
VARIANT out 
)

Definition at line 892 of file editor.c.

893{
895
896 if(!This->doc_obj->nscontainer)
897 return E_FAIL;
898
899 do_ns_editor_command(This->doc_obj->nscontainer, NSCMD_PASTE);
900 return S_OK;
901}
#define NSCMD_PASTE
Definition: editor.c:45

Referenced by exec_mshtml_paste().

◆ editor_is_dirty()

HRESULT editor_is_dirty ( HTMLDocument This)

Definition at line 1209 of file editor.c.

1210{
1211 cpp_bool modified;
1212
1213 if(!This->doc_obj->nscontainer || !This->doc_obj->nscontainer->editor)
1214 return S_FALSE;
1215
1216 nsIEditor_GetDocumentModified(This->doc_obj->nscontainer->editor, &modified);
1217
1218 return modified ? S_OK : S_FALSE;
1219}
unsigned char cpp_bool
Definition: atl.c:38
#define S_FALSE
Definition: winerror.h:2357

Referenced by PersistStreamInit_IsDirty().

◆ elem_string_attr_getter()

HRESULT elem_string_attr_getter ( HTMLElement elem,
const WCHAR name,
BOOL  use_null,
BSTR p 
)

Definition at line 162 of file htmlelem.c.

163{
164 const PRUnichar *val;
165 nsAString val_str;
166 nsresult nsres;
167 HRESULT hres = S_OK;
168
169 nsres = get_elem_attr_value(elem->nselem, name, &val_str, &val);
170 if(NS_FAILED(nsres))
171 return E_FAIL;
172
173 TRACE("%s: returning %s\n", debugstr_w(name), debugstr_w(val));
174
175 if(*val || !use_null) {
176 *p = SysAllocString(val);
177 if(!*p)
179 }else {
180 *p = NULL;
181 }
182 nsAString_Finish(&val_str);
183 return hres;
184}
GLuint GLfloat * val
Definition: glext.h:7180
nsresult get_elem_attr_value(nsIDOMHTMLElement *nselem, const WCHAR *name, nsAString *val_str, const PRUnichar **val)
Definition: htmlelem.c:143
#define debugstr_w
Definition: kernel32.h:32
static size_t elem
Definition: string.c:68
WCHAR PRUnichar
Definition: nsiface.idl:48
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238

Referenced by HTMLElement_get_language(), HTMLLabelElement_get_htmlFor(), HTMLMetaElement_get_charset(), HTMLMetaElement_get_content(), HTMLMetaElement_get_httpEquiv(), and HTMLMetaElement_get_name().

◆ elem_string_attr_setter()

HRESULT elem_string_attr_setter ( HTMLElement elem,
const WCHAR name,
const WCHAR value 
)

Definition at line 186 of file htmlelem.c.

187{
188 nsAString name_str, val_str;
189 nsresult nsres;
190
191 nsAString_InitDepend(&name_str, name);
192 nsAString_InitDepend(&val_str, value);
193 nsres = nsIDOMHTMLElement_SetAttribute(elem->nselem, &name_str, &val_str);
194 nsAString_Finish(&name_str);
195 nsAString_Finish(&val_str);
196
197 if(NS_FAILED(nsres)) {
198 WARN("SetAttribute failed: %08x\n", nsres);
199 return E_FAIL;
200 }
201
202 return S_OK;
203}
Definition: pdh_main.c:94

Referenced by HTMLElement_put_language(), HTMLMetaElement_put_charset(), and HTMLObjectElement2_put_classid().

◆ flush_pending_tasks()

void flush_pending_tasks ( LONG  target)

Definition at line 88 of file task.c.

89{
91 struct list *liter, *ltmp;
92 task_t *task;
93
94 if(!thread_data)
95 return;
96
97 LIST_FOR_EACH_SAFE(liter, ltmp, &thread_data->task_list) {
98 task = LIST_ENTRY(liter, task_t, entry);
99 if(task->target_magic == target) {
100 list_remove(&task->entry);
101 task->proc(task);
102 task->destr(task);
103 }
104 }
105}
Definition: list.h:37
GLenum target
Definition: glext.h:7315
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
Definition: list.h:192
task_proc_t proc
task_proc_t destr
struct list entry
LONG target_magic

Referenced by handle_load().

◆ get_client_disp_property()

HRESULT get_client_disp_property ( IOleClientSite client,
DISPID  dispid,
VARIANT res 
)

Definition at line 811 of file oleobj.c.

812{
813 IDispatch *disp = NULL;
814 DISPPARAMS dispparams = {NULL, 0};
815 UINT err;
817
818 hres = IOleClientSite_QueryInterface(client, &IID_IDispatch, (void**)&disp);
819 if(FAILED(hres)) {
820 TRACE("Could not get IDispatch\n");
821 return hres;
822 }
823
825
826 hres = IDispatch_Invoke(disp, dispid, &IID_NULL, LOCALE_SYSTEM_DEFAULT,
827 DISPATCH_PROPERTYGET, &dispparams, res, NULL, &err);
828
829 IDispatch_Release(disp);
830
831 return hres;
832}
GLuint res
Definition: glext.h:9613
struct stdole::DISPPARAMS DISPPARAMS
unsigned int UINT
Definition: ndis.h:50
#define LOCALE_SYSTEM_DEFAULT
#define DISPATCH_PROPERTYGET
Definition: oleauto.h:1007
#define IID_NULL
Definition: guiddef.h:98
#define err(...)
static FILE * client
Definition: client.c:41

Referenced by OleControl_OnAmbientPropertyChange(), OleObject_SetClientSite(), and on_change_dlcontrol().

◆ get_context_from_document()

JSContext * get_context_from_document ( nsIDOMHTMLDocument nsdoc)

Definition at line 758 of file mutation.c.

759{
760 nsIDocument *doc;
761 JSContext *ctx;
762 nsresult nsres;
763
764 nsres = nsIDOMHTMLDocument_QueryInterface(nsdoc, &IID_nsIDocument, (void**)&doc);
765 assert(nsres == NS_OK);
766
767 ctx = nsIContentUtils_GetContextFromDocument(content_utils, doc);
768 nsIDocument_Release(doc);
769
770 TRACE("ret %p\n", ctx);
771 return ctx;
772}
static nsIContentUtils * content_utils
Definition: mutation.c:27

Referenced by document_write(), and HTMLDocument_open().

◆ get_dispid_type()

dispex_prop_type_t get_dispid_type ( DISPID  id)

Definition at line 464 of file dispex.c.

465{
466 if(is_dynamic_dispid(id))
467 return DISPEXPROP_DYNAMIC;
468 if(is_custom_dispid(id))
469 return DISPEXPROP_CUSTOM;
470 return DISPEXPROP_BUILTIN;
471}
static BOOL is_custom_dispid(DISPID id)
Definition: dispex.c:454
static BOOL is_dynamic_dispid(DISPID id)
Definition: dispex.c:459

Referenced by DispatchEx_InvokeEx(), HTMLDOMAttribute2_get_expando(), HTMLDOMAttribute_get_specified(), and remove_attribute().

◆ get_dispids()

HRESULT get_dispids ( tid_t  tid,
DWORD ret_size,
DISPID **  ret 
)

Definition at line 389 of file dispex.c.

390{
391 unsigned i, func_cnt;
392 FUNCDESC *funcdesc;
393 ITypeInfo *ti;
394 TYPEATTR *attr;
395 DISPID *ids;
397
398 hres = get_typeinfo(tid, &ti);
399 if(FAILED(hres))
400 return hres;
401
402 hres = ITypeInfo_GetTypeAttr(ti, &attr);
403 if(FAILED(hres)) {
404 ITypeInfo_Release(ti);
405 return hres;
406 }
407
408 func_cnt = attr->cFuncs;
409 ITypeInfo_ReleaseTypeAttr(ti, attr);
410
411 ids = heap_alloc(func_cnt*sizeof(DISPID));
412 if(!ids) {
413 ITypeInfo_Release(ti);
414 return E_OUTOFMEMORY;
415 }
416
417 for(i=0; i < func_cnt; i++) {
418 hres = ITypeInfo_GetFuncDesc(ti, i, &funcdesc);
419 if(FAILED(hres))
420 break;
421
422 ids[i] = funcdesc->memid;
423 ITypeInfo_ReleaseFuncDesc(ti, funcdesc);
424 }
425
426 ITypeInfo_Release(ti);
427 if(FAILED(hres)) {
428 heap_free(ids);
429 return hres;
430 }
431
432 qsort(ids, func_cnt, sizeof(DISPID), id_cmp);
433
434 *ret_size = func_cnt;
435 *ret = ids;
436 return S_OK;
437}
GLuint * ids
Definition: glext.h:5907
static TfClientId tid
static VARIANTARG static DISPID
Definition: ordinal.c:52
static int id_cmp(const void *p1, const void *p2)
Definition: dispex.c:384
static HRESULT get_typeinfo(tid_t tid, ITypeInfo **typeinfo)
Definition: dispex.c:118
void __cdecl qsort(_Inout_updates_bytes_(_NumOfElements *_SizeOfElements) void *_Base, _In_ size_t _NumOfElements, _In_ size_t _SizeOfElements, _In_ int(__cdecl *_PtFuncCompare)(const void *, const void *))
Definition: cookie.c:202

Referenced by is_cp_event().

◆ get_display_dc()

HDC get_display_dc ( void  )

Definition at line 173 of file main.c.

174{
175 static const WCHAR displayW[] = {'D','I','S','P','L','A','Y',0};
176
177 if(!display_dc) {
178 HDC hdc;
179
183 }
184
185 return display_dc;
186}
static HDC display_dc
Definition: main.c:41
pKey DeleteObject()
HDC hdc
Definition: main.c:9
static HDC
Definition: imagelist.c:92
static const WCHAR displayW[]
Definition: icm.c:30
HDC WINAPI CreateICW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ const DEVMODEW *)

Referenced by HTMLScreen_get_colorDepth(), HTMLScreen_get_height(), and HTMLScreen_get_width().

◆ get_doc_elem_by_id()

HRESULT get_doc_elem_by_id ( HTMLDocumentNode doc,
const WCHAR id,
HTMLElement **  ret 
)

Definition at line 23 of file htmldoc.c.

24{
25 nsIDOMNodeList *nsnode_list;
26 nsIDOMElement *nselem;
27 nsIDOMNode *nsnode;
28 nsAString id_str;
29 nsresult nsres;
31
32 if(!doc->nsdoc) {
33 WARN("NULL nsdoc\n");
34 return E_UNEXPECTED;
35 }
36
37 nsAString_InitDepend(&id_str, id);
38 /* get element by id attribute */
39 nsres = nsIDOMHTMLDocument_GetElementById(doc->nsdoc, &id_str, &nselem);
40 if(FAILED(nsres)) {
41 ERR("GetElementById failed: %08x\n", nsres);
42 nsAString_Finish(&id_str);
43 return E_FAIL;
44 }
45
46 /* get first element by name attribute */
47 nsres = nsIDOMHTMLDocument_GetElementsByName(doc->nsdoc, &id_str, &nsnode_list);
48 nsAString_Finish(&id_str);
49 if(FAILED(nsres)) {
50 ERR("getElementsByName failed: %08x\n", nsres);
51 if(nselem)
52 nsIDOMElement_Release(nselem);
53 return E_FAIL;
54 }
55
56 nsres = nsIDOMNodeList_Item(nsnode_list, 0, &nsnode);
57 nsIDOMNodeList_Release(nsnode_list);
58 assert(nsres == NS_OK);
59
60 if(nsnode && nselem) {
61 UINT16 pos;
62
63 nsres = nsIDOMNode_CompareDocumentPosition(nsnode, (nsIDOMNode*)nselem, &pos);
64 if(NS_FAILED(nsres)) {
65 FIXME("CompareDocumentPosition failed: 0x%08x\n", nsres);
66 nsIDOMNode_Release(nsnode);
67 nsIDOMElement_Release(nselem);
68 return E_FAIL;
69 }
70
71 TRACE("CompareDocumentPosition gave: 0x%x\n", pos);
72 if(!(pos & (DOCUMENT_POSITION_PRECEDING | DOCUMENT_POSITION_CONTAINS))) {
73 nsIDOMElement_Release(nselem);
74 nselem = NULL;
75 }
76 }
77
78 if(nsnode) {
79 if(!nselem) {
80 nsres = nsIDOMNode_QueryInterface(nsnode, &IID_nsIDOMElement, (void**)&nselem);
81 assert(nsres == NS_OK);
82 }
83 nsIDOMNode_Release(nsnode);
84 }
85
86 if(!nselem) {
87 *ret = NULL;
88 return S_OK;
89 }
90
91 hres = get_elem(doc, nselem, ret);
92 nsIDOMElement_Release(nselem);
93 return hres;
94}
unsigned short UINT16
HRESULT get_elem(HTMLDocumentNode *doc, nsIDOMElement *nselem, HTMLElement **ret)
Definition: htmlelem.c:4078

Referenced by find_event_target(), HTMLDocument3_getElementById(), test_elems(), test_elems2(), and test_frameset().

◆ get_document_charset()

UINT get_document_charset ( HTMLDocumentNode doc)

Definition at line 96 of file htmldoc.c.

97{
98 nsAString charset_str;
99 UINT ret = 0;
100 nsresult nsres;
101
102 if(doc->charset)
103 return doc->charset;
104
105 nsAString_Init(&charset_str, NULL);
106 nsres = nsIDOMHTMLDocument_GetCharacterSet(doc->nsdoc, &charset_str);
107 if(NS_SUCCEEDED(nsres)) {
108 const PRUnichar *charset;
109
110 nsAString_GetData(&charset_str, &charset);
111
112 if(*charset) {
116 }
117 }else {
118 ERR("GetCharset failed: %08x\n", nsres);
119 }
120 nsAString_Finish(&charset_str);
121
122 if(!ret)
123 return CP_UTF8;
124
125 return doc->charset = ret;
126}
OLECHAR * BSTR
Definition: compat.h:2293
UINT cp_from_charset_string(BSTR charset)
Definition: main.c:45
UINT32 nsAString_GetData(const nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
Definition: nsembed.c:831
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
#define NS_SUCCEEDED(res)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271

Referenced by bind_script_to_text().

◆ get_editor_controller()

void get_editor_controller ( NSContainer This)

Definition at line 1029 of file nsembed.c.

1030{
1031 nsIEditingSession *editing_session = NULL;
1032 nsIControllerContext *ctrlctx;
1033 nsresult nsres;
1034
1035 if(This->editor) {
1036 nsIEditor_Release(This->editor);
1037 This->editor = NULL;
1038 }
1039
1040 if(This->editor_controller) {
1041 nsIController_Release(This->editor_controller);
1042 This->editor_controller = NULL;
1043 }
1044
1045 nsres = get_nsinterface((nsISupports*)This->webbrowser, &IID_nsIEditingSession,
1046 (void**)&editing_session);
1047 if(NS_FAILED(nsres)) {
1048 ERR("Could not get nsIEditingSession: %08x\n", nsres);
1049 return;
1050 }
1051
1052 nsres = nsIEditingSession_GetEditorForWindow(editing_session,
1053 This->doc->basedoc.window->nswindow, &This->editor);
1054 nsIEditingSession_Release(editing_session);
1055 if(NS_FAILED(nsres)) {
1056 ERR("Could not get editor: %08x\n", nsres);
1057 return;
1058 }
1059
1060 nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr,
1061 NS_EDITORCONTROLLER_CONTRACTID, NULL, &IID_nsIControllerContext, (void**)&ctrlctx);
1062 if(NS_SUCCEEDED(nsres)) {
1063 nsres = nsIControllerContext_SetCommandContext(ctrlctx, (nsISupports *)This->editor);
1064 if(NS_FAILED(nsres))
1065 ERR("SetCommandContext failed: %08x\n", nsres);
1066 nsres = nsIControllerContext_QueryInterface(ctrlctx, &IID_nsIController,
1067 (void**)&This->editor_controller);
1068 nsIControllerContext_Release(ctrlctx);
1069 if(NS_FAILED(nsres))
1070 ERR("Could not get nsIController interface: %08x\n", nsres);
1071 }else {
1072 ERR("Could not create edit controller: %08x\n", nsres);
1073 }
1074}
nsresult get_nsinterface(nsISupports *iface, REFIID riid, void **ppv)
Definition: nsembed.c:907
#define NS_EDITORCONTROLLER_CONTRACTID
Definition: nsembed.c:30

Referenced by handle_edit_load().

◆ get_elem()

HRESULT get_elem ( HTMLDocumentNode doc,
nsIDOMElement nselem,
HTMLElement **  ret 
)

Definition at line 4078 of file htmlelem.c.

4079{
4081 HRESULT hres;
4082
4083 hres = get_node(doc, (nsIDOMNode*)nselem, TRUE, &node);
4084 if(FAILED(hres))
4085 return hres;
4086
4088 return S_OK;
4089}
static HTMLElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlelem.c:3733

Referenced by get_doc_elem_by_id(), and HTMLDocument_get_activeElement().

◆ get_elem_attr_value()

nsresult get_elem_attr_value ( nsIDOMHTMLElement nselem,
const WCHAR name,
nsAString val_str,
const PRUnichar **  val 
)

Definition at line 143 of file htmlelem.c.

144{
145 nsAString name_str;
146 nsresult nsres;
147
148 nsAString_InitDepend(&name_str, name);
149 nsAString_Init(val_str, NULL);
150 nsres = nsIDOMHTMLElement_GetAttribute(nselem, &name_str, val_str);
151 nsAString_Finish(&name_str);
152 if(NS_FAILED(nsres)) {
153 ERR("GetAttribute(%s) failed: %08x\n", debugstr_w(name), nsres);
154 nsAString_Finish(val_str);
155 return nsres;
156 }
157
158 nsAString_GetData(val_str, val);
159 return NS_OK;
160}

Referenced by check_codebase(), check_event_attr(), elem_string_attr_getter(), fill_props(), get_elem_clsid(), get_font_size(), get_script_guid(), HTMLFormElement_get_dispid(), and is_elem_name().

◆ get_elem_attr_value_by_dispid()

HRESULT get_elem_attr_value_by_dispid ( HTMLElement elem,
DISPID  dispid,
DWORD  flags,
VARIANT ret 
)

Definition at line 621 of file htmlelem.c.

622{
623 DISPPARAMS dispParams = {NULL, NULL, 0, 0};
624 EXCEPINFO excep;
626
627 hres = IDispatchEx_InvokeEx(&elem->node.event_target.dispex.IDispatchEx_iface, dispid, LOCALE_SYSTEM_DEFAULT,
628 DISPATCH_PROPERTYGET, &dispParams, ret, &excep, NULL);
629 if(FAILED(hres))
630 return hres;
631
633 switch(V_VT(ret)) {
634 case VT_BSTR:
635 break;
636 case VT_DISPATCH:
637 IDispatch_Release(V_DISPATCH(ret));
638 V_VT(ret) = VT_BSTR;
640 break;
641 default:
643 if(FAILED(hres))
644 return hres;
645 }
646 }
647
648 return S_OK;
649}
@ VT_BSTR
Definition: compat.h:2303
GLbitfield flags
Definition: glext.h:7161
#define ATTRFLAG_ASSTRING
struct stdole::EXCEPINFO EXCEPINFO
#define V_BSTR(A)
Definition: oleauto.h:226
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
Definition: variant.c:962

Referenced by HTMLDOMAttribute2_get_value(), HTMLDOMAttribute_get_nodeValue(), and HTMLElement_getAttribute().

◆ get_elem_source_index()

HRESULT get_elem_source_index ( HTMLElement elem,
LONG ret 
)

Definition at line 740 of file htmlelemcol.c.

741{
742 elem_vector_t buf = {NULL, 0, 8};
743 nsIDOMNode *parent_node, *iter;
744 UINT16 parent_type;
746 int i;
747 nsresult nsres;
749
750 iter = elem->node.nsnode;
751 nsIDOMNode_AddRef(iter);
752
753 /* Find document or document fragment parent. */
754 while(1) {
755 nsres = nsIDOMNode_GetParentNode(iter, &parent_node);
756 nsIDOMNode_Release(iter);
757 assert(nsres == NS_OK);
758 if(!parent_node)
759 break;
760
761 nsres = nsIDOMNode_GetNodeType(parent_node, &parent_type);
762 assert(nsres == NS_OK);
763
764 if(parent_type != ELEMENT_NODE) {
765 if(parent_type != DOCUMENT_NODE && parent_type != DOCUMENT_FRAGMENT_NODE)
766 FIXME("Unexpected parent_type %d\n", parent_type);
767 break;
768 }
769
770 iter = parent_node;
771 }
772
773 if(!parent_node) {
774 *ret = -1;
775 return S_OK;
776 }
777
778 hres = get_node(elem->node.doc, parent_node, TRUE, &node);
779 nsIDOMNode_Release(parent_node);
780 if(FAILED(hres))
781 return hres;
782
783
784 /* Create all children collection and find the element in it.
785 * This could be optimized if we ever find the reason. */
786 buf.buf = heap_alloc(buf.size*sizeof(*buf.buf));
787 if(!buf.buf) {
788 IHTMLDOMNode_Release(&node->IHTMLDOMNode_iface);
789 return E_OUTOFMEMORY;
790 }
791
792 create_all_list(elem->node.doc, node, &buf);
793
794 for(i=0; i < buf.len; i++) {
795 if(buf.buf[i] == elem)
796 break;
797 }
798 IHTMLDOMNode_Release(&node->IHTMLDOMNode_iface);
799 heap_free(buf.buf);
800 if(i == buf.len) {
801 FIXME("The element is not in parent's child list?\n");
802 return E_UNEXPECTED;
803 }
804
805 *ret = i;
806 return S_OK;
807}

Referenced by HTMLElement_get_sourceIndex().

◆ get_frame_by_name()

HRESULT get_frame_by_name ( HTMLOuterWindow This,
const WCHAR name,
BOOL  deep,
HTMLOuterWindow **  ret 
)

Definition at line 343 of file htmlwindow.c.

344{
345 nsIDOMWindowCollection *nsframes;
347 nsIDOMWindow *nswindow;
348 nsAString name_str;
349 UINT32 length, i;
350 nsresult nsres;
351 HRESULT hres = S_OK;
352
353 nsres = nsIDOMWindow_GetFrames(This->nswindow, &nsframes);
354 if(NS_FAILED(nsres)) {
355 FIXME("nsIDOMWindow_GetFrames failed: 0x%08x\n", nsres);
356 return E_FAIL;
357 }
358
359 if(!nsframes) {
360 WARN("nsIDOMWindow_GetFrames returned NULL nsframes: %p\n", This->nswindow);
362 }
363
364 nsAString_InitDepend(&name_str, name);
365 nsres = nsIDOMWindowCollection_NamedItem(nsframes, &name_str, &nswindow);
366 nsAString_Finish(&name_str);
367 if(NS_FAILED(nsres)) {
368 nsIDOMWindowCollection_Release(nsframes);
369 return E_FAIL;
370 }
371
372 if(nswindow) {
373 *ret = nswindow_to_window(nswindow);
374 return S_OK;
375 }
376
377 nsres = nsIDOMWindowCollection_GetLength(nsframes, &length);
378 assert(nsres == NS_OK);
379
380 for(i = 0; i < length && !window; ++i) {
381 HTMLOuterWindow *window_iter;
382 BSTR id;
383
384 nsres = nsIDOMWindowCollection_Item(nsframes, i, &nswindow);
385 if(NS_FAILED(nsres)) {
386 FIXME("nsIDOMWindowCollection_Item failed: 0x%08x\n", nsres);
387 hres = E_FAIL;
388 break;
389 }
390
391 window_iter = nswindow_to_window(nswindow);
392
393 nsIDOMWindow_Release(nswindow);
394
395 if(!window_iter) {
396 WARN("nsIDOMWindow without HTMLOuterWindow: %p\n", nswindow);
397 continue;
398 }
399
400 hres = IHTMLElement_get_id(&window_iter->frame_element->element.IHTMLElement_iface, &id);
401 if(FAILED(hres)) {
402 FIXME("IHTMLElement_get_id failed: 0x%08x\n", hres);
403 break;
404 }
405
406 if(id && !strcmpiW(id, name))
407 window = window_iter;
408
409 SysFreeString(id);
410
411 if(!window && deep)
412 get_frame_by_name(window_iter, name, TRUE, &window);
413 }
414
415 nsIDOMWindowCollection_Release(nsframes);
416 if(FAILED(hres))
417 return hres;
418
419 *ret = window;
420 return NS_OK;
421}
GLuint id
Definition: glext.h:5910
HRESULT get_frame_by_name(HTMLOuterWindow *This, const WCHAR *name, BOOL deep, HTMLOuterWindow **ret)
Definition: htmlwindow.c:343
HTMLOuterWindow * nswindow_to_window(const nsIDOMWindow *nswindow)
Definition: htmlwindow.c:3099
#define strcmpiW(s1, s2)
Definition: unicode.h:39
IHTMLElement IHTMLElement_iface
HTMLElement element
HTMLFrameBase * frame_element
#define DISP_E_MEMBERNOTFOUND
Definition: winerror.h:2512

Referenced by get_frame_by_name(), get_target_window(), HTMLWindow2_item(), HTMLWindow_invoke(), and WindowDispEx_GetDispID().

◆ get_htmldoc_classinfo()

HRESULT get_htmldoc_classinfo ( ITypeInfo **  typeinfo)

Definition at line 172 of file dispex.c.

173{
175
176 if (!typelib)
177 hres = load_typelib();
178 if (!typelib)
179 return hres;
180
181 hres = ITypeLib_GetTypeInfoOfGuid(typelib, &CLSID_HTMLDocument, typeinfo);
182 if(FAILED(hres))
183 ERR("GetTypeInfoOfGuid failed: %08x\n", hres);
184 return hres;
185}
static ITypeLib * typelib
Definition: dispex.c:90
static HRESULT load_typelib(void)
Definition: dispex.c:102

Referenced by ProvideClassInfo_GetClassInfo().

◆ get_node()

HRESULT get_node ( HTMLDocumentNode This,
nsIDOMNode nsnode,
BOOL  create,
HTMLDOMNode **  ret 
)

Definition at line 1339 of file htmlnode.c.

1340{
1341 nsISupports *unk = NULL;
1342 nsresult nsres;
1343
1344 nsres = nsIDOMNode_GetMshtmlNode(nsnode, &unk);
1345 assert(nsres == NS_OK);
1346
1347 if(unk) {
1348 *ret = get_node_obj((IHTMLDOMNode*)unk);
1349 nsISupports_Release(unk);
1350 return NS_OK;
1351 }
1352
1353 if(!create) {
1354 *ret = NULL;
1355 return S_OK;
1356 }
1357
1358 return create_node(This, nsnode, ret);
1359}
static HRESULT create_node(HTMLDocumentNode *, nsIDOMNode *, HTMLDOMNode **)
Definition: htmlnode.c:1216
static HTMLDOMNode * get_node_obj(IHTMLDOMNode *)
Definition: htmlnode.c:1045
static const struct access_res create[16]
Definition: package.c:7644

Referenced by check_event_attr(), create_all_list(), create_collection_from_htmlcol(), create_collection_from_nodelist(), fire_event(), fire_event_obj(), get_elem(), get_elem_source_index(), HTMLDocument3_get_documentElement(), HTMLDocument_elementFromPoint(), HTMLDocument_get_all(), HTMLDocument_get_body(), HTMLDocumentNode_invoke(), HTMLDOMChildrenCollection_item(), HTMLDOMChildrenCollectionEnum_Next(), HTMLDOMNode_appendChild(), HTMLDOMNode_get_firstChild(), HTMLDOMNode_get_lastChild(), HTMLDOMNode_get_nextSibling(), HTMLDOMNode_get_parentNode(), HTMLDOMNode_get_previousSibling(), HTMLDOMNode_insertBefore(), HTMLDOMNode_removeChild(), HTMLDOMNode_replaceChild(), HTMLDOMTextNode_splitText(), HTMLElement_get_offsetParent(), htmlform_item(), HTMLInputElement_get_form(), HTMLOptionElement_get_form(), HTMLOptionElementFactory_create(), htmlselect_item(), HTMLSelectElement_get_form(), HTMLTextAreaElement_get_form(), HTMLTxtRange_parentElement(), insert_adjacent_node(), NPP_New(), nsContextMenuListener_OnShowContextMenu(), run_bind_to_tree(), and script_elem_from_nsscript().

◆ get_node_text()

HRESULT get_node_text ( HTMLDOMNode node,
BSTR ret 
)

Definition at line 515 of file txtrange.c.

516{
518 HRESULT hres = S_OK;
519
520 if (!wstrbuf_init(&buf))
521 return E_OUTOFMEMORY;
523 if(buf.buf) {
524 *ret = SysAllocString(buf.buf);
525 if(!*ret)
527 } else {
528 *ret = NULL;
529 }
531
532 if(SUCCEEDED(hres))
533 TRACE("ret %s\n", debugstr_w(*ret));
534 return hres;
535}
static BOOL wstrbuf_init(wstrbuf_t *buf)
Definition: txtrange.c:344
static void wstrbuf_finish(wstrbuf_t *buf)
Definition: txtrange.c:354
static void wstrbuf_append_node_rec(wstrbuf_t *buf, nsIDOMNode *node)
Definition: txtrange.c:439

Referenced by HTMLElement_get_innerText().

◆ get_nscategory_entry()

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

Definition at line 898 of file nsembed.c.

899{
900 char *ret = NULL;
901 nsresult nsres;
902
903 nsres = nsICategoryManager_GetCategoryEntry(cat_mgr, category, entry, &ret);
904 return NS_SUCCEEDED(nsres) ? ret : NULL;
905}

Referenced by is_supported_doc_mime().

◆ get_nsinterface()

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

Definition at line 907 of file nsembed.c.

908{
909 nsIInterfaceRequestor *iface_req;
910 nsresult nsres;
911
912 nsres = nsISupports_QueryInterface(iface, &IID_nsIInterfaceRequestor, (void**)&iface_req);
913 if(NS_FAILED(nsres))
914 return nsres;
915
916 nsres = nsIInterfaceRequestor_GetInterface(iface_req, riid, ppv);
917 nsIInterfaceRequestor_Release(iface_req);
918
919 return nsres;
920}

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().

◆ get_readystate_string()

HRESULT get_readystate_string ( READYSTATE  readystate,
BSTR p 
)

Definition at line 205 of file htmlelem.c.

206{
207 static const WCHAR uninitializedW[] = {'u','n','i','n','i','t','i','a','l','i','z','e','d',0};
208 static const WCHAR loadingW[] = {'l','o','a','d','i','n','g',0};
209 static const WCHAR loadedW[] = {'l','o','a','d','e','d',0};
210 static const WCHAR interactiveW[] = {'i','n','t','e','r','a','c','t','i','v','e',0};
211 static const WCHAR completeW[] = {'c','o','m','p','l','e','t','e',0};
212
213 static const LPCWSTR readystate_strs[] = {
214 uninitializedW,
215 loadingW,
216 loadedW,
217 interactiveW,
218 completeW
219 };
220
221 assert(readystate <= READYSTATE_COMPLETE);
222 *p = SysAllocString(readystate_strs[readystate]);
223 return *p ? S_OK : E_OUTOFMEMORY;
224}
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

Referenced by HTMLDocument_get_readyState(), and HTMLScriptElement_get_readyState().

◆ get_shdoclc()

HINSTANCE get_shdoclc ( void  )

Definition at line 162 of file main.c.

163{
164 static const WCHAR wszShdoclc[] =
165 {'s','h','d','o','c','l','c','.','d','l','l',0};
166
167 if(shdoclc)
168 return shdoclc;
169
171}
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
Definition: loader.c:288
const char nsCycleCollectionTraversalCallback const char nsCycleCollectionTraversalCallback *static HINSTANCE shdoclc
Definition: main.c:40
#define LOAD_LIBRARY_AS_DATAFILE
Definition: winbase.h:342

Referenced by HTMLWindow2_alert(), HTMLWindow2_confirm(), prompt_dlgproc(), set_default_templates(), and show_context_menu().

◆ get_target_window()

HTMLOuterWindow * get_target_window ( HTMLOuterWindow window,
nsAString target_str,
BOOL use_new_window 
)

Definition at line 45 of file htmlanchor.c.

46{
47 HTMLOuterWindow *top_window, *ret_window;
48 const PRUnichar *target;
50
51 static const WCHAR _parentW[] = {'_','p','a','r','e','n','t',0};
52 static const WCHAR _selfW[] = {'_','s','e','l','f',0};
53 static const WCHAR _topW[] = {'_','t','o','p',0};
54
55 *use_new_window = FALSE;
56
57 nsAString_GetData(target_str, &target);
58 TRACE("%s\n", debugstr_w(target));
59
60 if(!*target || !strcmpiW(target, _selfW)) {
61 IHTMLWindow2_AddRef(&window->base.IHTMLWindow2_iface);
62 return window;
63 }
64
65 if(!strcmpiW(target, _topW)) {
66 get_top_window(window, &top_window);
67 IHTMLWindow2_AddRef(&top_window->base.IHTMLWindow2_iface);
68 return top_window;
69 }
70
71 if(!strcmpiW(target, _parentW)) {
72 if(!window->parent) {
73 WARN("Window has no parent, treat as self\n");
74 IHTMLWindow2_AddRef(&window->base.IHTMLWindow2_iface);
75 return window;
76 }
77
78 IHTMLWindow2_AddRef(&window->parent->base.IHTMLWindow2_iface);
79 return window->parent;
80 }
81
82 get_top_window(window, &top_window);
83
84 hres = get_frame_by_name(top_window, target, TRUE, &ret_window);
85 if(FAILED(hres) || !ret_window) {
86 *use_new_window = TRUE;
87 return NULL;
88 }
89
90 IHTMLWindow2_AddRef(&ret_window->base.IHTMLWindow2_iface);
91 return ret_window;
92}
void get_top_window(HTMLOuterWindow *window, HTMLOuterWindow **ret)
Definition: htmlwindow.c:59

Referenced by HTMLFormElement_submit(), and navigate_href().

◆ get_task_target_magic()

LONG get_task_target_magic ( void  )

Definition at line 139 of file task.c.

140{
141 static LONG magic = 0x10000000;
143}
#define InterlockedIncrement
Definition: armddk.h:53
u32_t magic(void)
long LONG
Definition: pedump.c:60

Referenced by create_inner_window(), HTMLOuterWindow_Create(), and init_doc().

◆ get_thread_data()

thread_data_t * get_thread_data ( BOOL  create)

Definition at line 352 of file task.c.

353{
355
357 DWORD tls;
358
359 if(!create)
360 return NULL;
361
362 tls = TlsAlloc();
364 return NULL;
365
367 if(tls != mshtml_tls)
368 TlsFree(tls);
369 }
370
372 if(!thread_data && create) {
373 thread_data = heap_alloc_zero(sizeof(thread_data_t));
374 if(!thread_data)
375 return NULL;
376
378 list_init(&thread_data->task_list);
379 list_init(&thread_data->timer_list);
380 }
381
382 return thread_data;
383}
LPVOID WINAPI TlsGetValue(IN DWORD Index)
Definition: thread.c:1240
DWORD WINAPI TlsAlloc(VOID)
Definition: thread.c:1100
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
Definition: thread.c:1276
BOOL WINAPI TlsFree(IN DWORD Index)
Definition: thread.c:1166
DWORD mshtml_tls
Definition: main.c:31
#define InterlockedCompareExchange
Definition: interlocked.h:104
static DWORD tls
Definition: sock.c:229
#define TLS_OUT_OF_INDEXES
Definition: winbase.h:549

Referenced by clear_task_timer(), flush_pending_tasks(), get_thread_hwnd(), pop_task(), process_timer(), push_task(), remove_target_tasks(), set_task_timer(), and thread_detach().

◆ get_thread_hwnd()

HWND get_thread_hwnd ( void  )

Definition at line 338 of file task.c.

339{
341
343 if(!thread_data)
344 return NULL;
345
346 if(!thread_data->thread_hwnd)
347 thread_data->thread_hwnd = create_thread_hwnd();
348
349 return thread_data->thread_hwnd;
350}
static HWND create_thread_hwnd(void)
Definition: task.c:316

Referenced by HTMLDocument_Create().

◆ get_top_window()

void get_top_window ( HTMLOuterWindow window,
HTMLOuterWindow **  ret 
)

Definition at line 59 of file htmlwindow.c.

60{
61 HTMLOuterWindow *iter;
62
63 for(iter = window; iter->parent; iter = iter->parent);
64 *ret = iter;
65}
HTMLOuterWindow * parent

Referenced by get_target_window(), and HTMLWindow2_get_top().

◆ handle_edit_event()

void handle_edit_event ( HTMLDocument This,
nsIDOMEvent event 
)

Definition at line 384 of file editor.c.

385{
387 UINT32 code;
388
389 nsIDOMEvent_QueryInterface(event, &IID_nsIDOMKeyEvent, (void**)&key_event);
390
391 nsIDOMKeyEvent_GetKeyCode(key_event, &code);
392
393 switch(code) {
394 case DOM_VK_LEFT: {
395 static const char * const cmds[] = {
400 };
401
402 TRACE("left\n");
404 break;
405 }
406 case DOM_VK_RIGHT: {
407 static const char * const cmds[] = {
412 };
413
414 TRACE("right\n");
416 break;
417 }
418 case DOM_VK_UP: {
419 static const char * const cmds[] = {
424 };
425
426 TRACE("up\n");
428 break;
429 }
430 case DOM_VK_DOWN: {
431 static const char * const cmds[] = {
436 };
437
438 TRACE("down\n");
440 break;
441 }
442 case DOM_VK_DELETE: {
443 static const char * const cmds[] = {
446 NULL, NULL
447 };
448
449 TRACE("delete\n");
451 break;
452 }
453 case DOM_VK_HOME: {
454 static const char * const cmds[] = {
459 };
460
461 TRACE("home\n");
463 break;
464 }
465 case DOM_VK_END: {
466 static const char * const cmds[] = {
471 };
472
473 TRACE("end\n");
475 break;
476 }
477 }
478
479 nsIDOMKeyEvent_Release(key_event);
480}
COMMAND cmds[]
Definition: main.c:21
#define NSCMD_LINENEXT
Definition: editor.c:37
#define DOM_VK_DOWN
Definition: editor.c:73
#define NSCMD_ENDLINE
Definition: editor.c:30
#define NSCMD_SELECTWORDPREVIOUS
Definition: editor.c:57
#define DOM_VK_LEFT
Definition: editor.c:70
#define NSCMD_BEGINLINE
Definition: editor.c:22
#define NSCMD_CHARPREVIOUS
Definition: editor.c:25
#define NSCMD_LINEPREVIOUS
Definition: editor.c:38
#define NSCMD_MOVEPAGEUP
Definition: editor.c:41
#define DOM_VK_HOME
Definition: editor.c:75
#define DOM_VK_DELETE
Definition: editor.c:74
#define NSCMD_SELECTBEGINLINE
Definition: editor.c:46
static void handle_arrow_key(HTMLDocument *This, nsIDOMKeyEvent *event, const char *const cmds[4])
Definition: editor.c:365
#define DOM_VK_END
Definition: editor.c:76
#define NSCMD_CHARNEXT
Definition: editor.c:24
#define DOM_VK_RIGHT
Definition: editor.c:72
#define NSCMD_DELETEWORDFORWARD
Definition: editor.c:29
#define NSCMD_SELECTENDLINE
Definition: editor.c:50
#define NSCMD_MOVEPAGEDOWN
Definition: editor.c:40
#define NSCMD_SELECTPAGEUP
Definition: editor.c:54
#define NSCMD_SELECTCHARPREVIOUS
Definition: editor.c:49
#define NSCMD_SELECTBOTTOM
Definition: editor.c:47
#define NSCMD_SELECTCHARNEXT
Definition: editor.c:48
#define NSCMD_SELECTPAGEDOWN
Definition: editor.c:53
#define NSCMD_SELECTWORDNEXT
Definition: editor.c:56
#define NSCMD_WORDPREVIOUS
Definition: editor.c:61
#define DOM_VK_UP
Definition: editor.c:71
#define NSCMD_SELECTTOP
Definition: editor.c:55
#define NSCMD_DELETECHARFORWARD
Definition: editor.c:28
#define NSCMD_SELECTLINEPREVIOUS
Definition: editor.c:52
#define NSCMD_MOVETOP
Definition: editor.c:42
#define NSCMD_SELECTLINENEXT
Definition: editor.c:51
#define NSCMD_WORDNEXT
Definition: editor.c:60
#define NSCMD_MOVEBOTTOM
Definition: editor.c:39
struct _cl_event * event
Definition: glext.h:7739
Definition: inflate.c:139
void key_event(int scancode, int pressed)
Definition: svgawin.c:773

Referenced by handle_keypress().

◆ handle_edit_load()

void handle_edit_load ( HTMLDocument This)

Definition at line 482 of file editor.c.

483{
484 get_editor_controller(This->doc_obj->nscontainer);
485}
void get_editor_controller(NSContainer *) DECLSPEC_HIDDEN
Definition: nsembed.c:1029

Referenced by handle_docobj_load().

◆ handle_link_click_event()

HRESULT handle_link_click_event ( HTMLElement element,
nsAString href_str,
nsAString target_str,
nsIDOMEvent event,
BOOL prevent_default 
)

Definition at line 123 of file htmlanchor.c.

125{
128 nsresult nsres;
130
131 TRACE("CLICK\n");
132
133 nsres = nsIDOMEvent_QueryInterface(event, &IID_nsIDOMMouseEvent, (void**)&mouse_event);
134 assert(nsres == NS_OK);
135
136 nsres = nsIDOMMouseEvent_GetButton(mouse_event, &button);
137 assert(nsres == NS_OK);
138
139 nsIDOMMouseEvent_Release(mouse_event);
140
141 switch(button) {
142 case 0:
143 *prevent_default = TRUE;
144 hres = navigate_href(element, href_str, target_str);
145 break;
146 case 1:
147 *prevent_default = TRUE;
149 break;
150 default:
151 *prevent_default = FALSE;
152 hres = S_OK;
153 }
154
155 nsAString_Finish(href_str);
156 nsAString_Finish(target_str);
157 return hres;
158}
signed short INT16
static HRESULT navigate_href(HTMLElement *element, nsAString *href_str, nsAString *target_str)
Definition: htmlanchor.c:94
static HRESULT navigate_href_new_window(HTMLElement *element, nsAString *href_str, const WCHAR *target)
Definition: htmlanchor.c:29
DWORD button
Definition: button.c:166
void WINAPI mouse_event(_In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ ULONG_PTR)

Referenced by HTMLAnchorElement_handle_event(), and HTMLAreaElement_handle_event().

◆ heap_free()

static BOOL heap_free ( void mem)
inlinestatic

Definition at line 1147 of file mshtml_private.h.

1148{
1149 return HeapFree(GetProcessHeap(), 0, mem);
1150}
#define HeapFree(x, y, z)
Definition: compat.h:735
Definition: mem.c:156

Referenced by windowref_release().

◆ heap_strdupA()

static char * heap_strdupA ( const char str)
inlinestatic

Definition at line 1184 of file mshtml_private.h.

1185{
1186 char *ret = NULL;
1187
1188 if(str) {
1189 DWORD size;
1190
1191 size = strlen(str)+1;
1192 ret = heap_alloc(size);
1193 if(ret)
1194 memcpy(ret, str, size);
1195 }
1196
1197 return ret;
1198}
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
GLsizeiptr size
Definition: glext.h:5919
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878

Referenced by channelbsc_load_stream(), create_nsuri(), FindFirstUrlCacheEntryA(), nsChannel_SetContentCharset(), nsChannel_SetContentType(), and read_stream_data().

◆ heap_strdupAtoW()

static WCHAR * heap_strdupAtoW ( const char str)
inlinestatic

Definition at line 1200 of file mshtml_private.h.

1201{
1202 LPWSTR ret = NULL;
1203
1204 if(str) {
1205 DWORD len;
1206
1207 len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
1208 ret = heap_alloc(len*sizeof(WCHAR));
1209 if(ret)
1211 }
1212
1213 return ret;
1214}
#define CP_ACP
Definition: compat.h:109
#define MultiByteToWideChar
Definition: compat.h:110
static void size_t len
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ heap_strdupUtoW()

static WCHAR * heap_strdupUtoW ( const char str)
inlinestatic

Definition at line 1230 of file mshtml_private.h.

1231{
1232 WCHAR *ret = NULL;
1233
1234 if(str) {
1235 size_t len;
1236
1237 len = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
1238 ret = heap_alloc(len*sizeof(WCHAR));
1239 if(ret)
1241 }
1242
1243 return ret;
1244}

Referenced by is_gecko_path(), nsURI_Resolve(), nsURI_SetHost(), nsURI_SetPassword(), nsURI_SetPath(), nsURI_SetScheme(), nsURI_SetSpec(), nsURI_SetUsername(), nsURI_SetUserPass(), nsURL_SetQuery(), and nsURL_SetRef().

◆ heap_strdupW()

static LPWSTR heap_strdupW ( LPCWSTR  str)
inlinestatic

Definition at line 1152 of file mshtml_private.h.

1153{
1154 LPWSTR ret = NULL;
1155
1156 if(str) {
1157 DWORD size;
1158
1159 size = (strlenW(str)+1)*sizeof(WCHAR);
1160 ret = heap_alloc(size);
1161 if(ret)
1162 memcpy(ret, str, size);
1163 }
1164
1165 return ret;
1166}
#define strlenW(s)
Definition: unicode.h:28

◆ heap_strdupWtoA()

static char * heap_strdupWtoA ( LPCWSTR  str)
inlinestatic

Definition at line 1216 of file mshtml_private.h.

1217{
1218 char *ret = NULL;
1219
1220 if(str) {
1222 ret = heap_alloc(size);
1223 if(ret)
1225 }
1226
1227 return ret;
1228}
#define WideCharToMultiByte
Definition: compat.h:111

◆ heap_strdupWtoU()

static char * heap_strdupWtoU ( const WCHAR str)
inlinestatic

Definition at line 1246 of file mshtml_private.h.

1247{
1248 char *ret = NULL;
1249
1250 if(str) {
1251 size_t size = WideCharToMultiByte(CP_UTF8, 0, str, -1, NULL, 0, NULL, NULL);
1252 ret = heap_alloc(size);
1253 if(ret)
1255 }
1256
1257 return ret;
1258}

Referenced by bstr_to_nsacstr(), get_uri_string(), HTMLXMLHttpRequest_getResponseHeader(), nsURI_GetHostPort(), nsURI_Resolve(), and nsURL_GetRef().

◆ heap_strndupW()

static LPWSTR heap_strndupW ( LPCWSTR  str,
unsigned  len 
)
inlinestatic

◆ heap_strndupWtoU()

static char * heap_strndupWtoU ( LPCWSTR  str,
unsigned  len 
)
inlinestatic

Definition at line 1260 of file mshtml_private.h.

1261{
1262 char *ret = NULL;
1263 DWORD size;
1264
1265 if(str && len) {
1267 ret = heap_alloc(size + 1);
1268 if(ret) {
1270 ret[size] = '\0';
1271 }
1272 }
1273
1274 return ret;
1275}

Referenced by process_response_status_text().

◆ hide_tooltip()

void hide_tooltip ( HTMLDocumentObj This)

Definition at line 386 of file view.c.

387{
388 TTTOOLINFOW toolinfo = {
389 sizeof(TTTOOLINFOW), 0, This->hwnd, 0xdeadbeef,
390 {0,0,0,0}, NULL, NULL, 0};
391
392 TRACE("(%p)\n", This);
393
394 SendMessageW(This->tooltips_hwnd, TTM_DELTOOLW, 0, (LPARAM)&toolinfo);
395 SendMessageW(This->tooltips_hwnd, TTM_ACTIVATE, FALSE, 0);
396}
#define TTM_ACTIVATE
Definition: commctrl.h:1784
#define TTM_DELTOOLW
Definition: commctrl.h:1789
struct tagTOOLINFOW TTTOOLINFOW
LONG_PTR LPARAM
Definition: windef.h:208
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by nsTooltipListener_OnHideTooltip().

◆ HTMLAnchorElement_Create()

HRESULT HTMLAnchorElement_Create ( HTMLDocumentNode doc,
nsIDOMHTMLElement nselem,
HTMLElement **  elem 
)

Definition at line 798 of file htmlanchor.c.

799{
801 nsresult nsres;
802
803 ret = heap_alloc_zero(sizeof(HTMLAnchorElement));
804 if(!ret)
805 return E_OUTOFMEMORY;
806
807 ret->IHTMLAnchorElement_iface.lpVtbl = &HTMLAnchorElementVtbl;
808 ret->element.node.vtbl = &HTMLAnchorElementImplVtbl;
809
810 HTMLElement_Init(&ret->element, doc, nselem, &HTMLAnchorElement_dispex);
811
812 nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLAnchorElement, (void**)&ret->nsanchor);
813 assert(nsres == NS_OK);
814
815 *elem = &ret->element;
816 return S_OK;
817}
static const IHTMLAnchorElementVtbl HTMLAnchorElementVtbl
Definition: htmlanchor.c:632
static dispex_static_data_t HTMLAnchorElement_dispex
Definition: htmlanchor.c:791
static const NodeImplVtbl HTMLAnchorElementImplVtbl
Definition: htmlanchor.c:764
void HTMLElement_Init(HTMLElement *This, HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, dispex_static_data_t *dispex_data)
Definition: htmlelem.c:4008

◆ HTMLAreaElement_Create()

HRESULT HTMLAreaElement_Create ( HTMLDocumentNode doc,
nsIDOMHTMLElement nselem,
HTMLElement **  elem 
)

Definition at line 443 of file htmlarea.c.

444{
446 nsresult nsres;
447
448 ret = heap_alloc_zero(sizeof(HTMLAreaElement));
449 if(!ret)
450 return E_OUTOFMEMORY;
451
452 ret->IHTMLAreaElement_iface.lpVtbl = &HTMLAreaElementVtbl;
453 ret->element.node.vtbl = &HTMLAreaElementImplVtbl;
454
455 HTMLElement_Init(&ret->element, doc, nselem, &HTMLAreaElement_dispex);
456
457 nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLAreaElement, (void**)&ret->nsarea);
458 assert(nsres == NS_OK);
459
460 *elem = &ret->element;
461 return S_OK;
462}
static dispex_static_data_t HTMLAreaElement_dispex
Definition: htmlarea.c:436
static const IHTMLAreaElementVtbl HTMLAreaElementVtbl
Definition: htmlarea.c:325
static const NodeImplVtbl HTMLAreaElementImplVtbl
Definition: htmlarea.c:422

◆ HTMLBodyElement_Create()

HRESULT HTMLBodyElement_Create ( HTMLDocumentNode doc,
nsIDOMHTMLElement nselem,
HTMLElement **  elem 
)

Definition at line 869 of file htmlbody.c.

870{
872 nsresult nsres;
873
874 ret = heap_alloc_zero(sizeof(HTMLBodyElement));
875 if(!ret)
876 return E_OUTOFMEMORY;
877
878 ret->IHTMLBodyElement_iface.lpVtbl = &HTMLBodyElementVtbl;
879 ret->textcont.element.node.vtbl = &HTMLBodyElementImplVtbl;
880
881 nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLBodyElement, (void**)&ret->nsbody);
882 if(NS_FAILED(nsres)) {
883 ERR("Could not get nsDOMHTMLBodyElement: %08x\n", nsres);
884 heap_free(ret);
885 return E_OUTOFMEMORY;
886 }
887
888 HTMLTextContainer_Init(&ret->textcont, doc, nselem, &HTMLBodyElement_dispex);
889
890 *elem = &ret->textcont.element;
891 return S_OK;
892}