21#define IE_MAJOR_VERSION 7
22#define IE_MINOR_VERSION 0
25 {0x762C4AE7,0xB923,0x422F,{0xB9,0x7E,0xB9,0xBF,0xC1,0xEF,0x7B,0xF0}};
31 int majorv = 0, minorv = 0;
44 static const PRUnichar endifW[] = {
'<',
'!',
'[',
'e',
'n',
'd',
'i',
'f',
']'};
53 if(
ptr[0] ==
'l' &&
ptr[1] ==
't') {
61 }
else if(
ptr[0] ==
'g' &&
ptr[1] ==
't') {
76 if(
ptr[0] !=
'I' ||
ptr[1] !=
'E')
88 majorv = majorv*10 + (*
ptr++ -
'0');
95 minorv = minorv*10 + (*
ptr++ -
'0');
100 if(
ptr[0] !=
']' ||
ptr[1] !=
'>')
105 if(
len <
sizeof(endifW)/
sizeof(
WCHAR))
161 nsres = nsISupports_QueryInterface(comment_iface, &IID_nsIDOMComment, (
void**)&nscomment);
163 ERR(
"Could not get nsIDOMComment iface:%08x\n", nsres);
168 nsres = nsIDOMComment_GetData(nscomment, &comment_str);
186 nsIDOMComment_Release(nscomment);
197 TRACE(
"(%p)->(%p)\n", doc, nsiface);
199 nsres = nsISupports_QueryInterface(nsiface, &IID_nsIDOMNode, (
void**)&nsnode);
204 nsIDOMNode_Release(nsnode);
206 ERR(
"Could not get node\n");
210 if(
node->vtbl->bind_to_tree)
227 hres = IOleClientSite_QueryInterface(doc->
client, &IID_IOleCommandTarget, (
void**)&olecmd);
232 hres = IOleCommandTarget_Exec(olecmd, &CGID_Explorer, 69, 0,
NULL, &
var);
233 IOleCommandTarget_Release(olecmd);
235 FIXME(
"handle result\n");
240 TRACE(
"(%p)\n", doc);
247 IAdviseSink_OnViewChange(doc->
view_sink, DVASPECT_CONTENT, -1);
261 if(!
This->basedoc.doc_obj)
264 if(
This ==
This->basedoc.doc_obj->basedoc.doc_node) {
287 TRACE(
"(%p)->(%p)\n", doc, script_iface);
293 nsres = nsISupports_QueryInterface(script_iface, &IID_nsIDOMHTMLScriptElement, (
void**)&nsscript);
295 ERR(
"Could not get nsIDOMHTMLScriptElement: %08x\n", nsres);
300 nsres = nsISupports_QueryInterface(parser_iface, &IID_nsIParser, (
void**)&nsparser);
302 ERR(
"Could not get nsIParser iface: %08x\n", nsres);
308 nsIDOMHTMLScriptElement_Release(nsscript);
313 nsIParser_BeginEvaluatingParserInsertedScript(nsparser);
314 window->parser_callback_cnt++;
317 IHTMLWindow2_AddRef(&
window->base.IHTMLWindow2_iface);
330 IHTMLWindow2_Release(&
window->base.IHTMLWindow2_iface);
333 window->parser_callback_cnt--;
334 nsIParser_EndEvaluatingParserInsertedScript(nsparser);
335 nsIParser_Release(nsparser);
405 nsISupports_Release(
This->arg1);
407 nsISupports_Release(
This->arg2);
444 nsISupports_AddRef(
arg1);
448 nsISupports_AddRef(
arg2);
453 nsIRunnable_Release(&
runnable->nsIRunnable_iface);
518 void *aElement,
LONG aNameSpaceID,
nsIAtom *aAttribute)
547 nsUpdateType aUpdateType)
552 nsUpdateType aUpdateType)
566 if(
This->skip_mutation_notif)
579 EventStates aStateMask)
624 TRACE(
"(%p)->(%p %p)\n",
This, aDocument, aContent);
626 nsres = nsIContent_QueryInterface(aContent, &IID_nsIDOMHTMLElement, (
void**)&nselem);
629 nsIDOMHTMLElement_Release(nselem);
632 nsres = nsIContent_QueryInterface(aContent, &IID_nsIDOMComment, (
void**)&nscomment);
634 TRACE(
"comment node\n");
637 nsIDOMComment_Release(nscomment);
641 nsres = nsIContent_QueryInterface(aContent, &IID_nsIDOMHTMLIFrameElement, (
void**)&nsiframe);
643 TRACE(
"iframe node\n");
646 nsIDOMHTMLIFrameElement_Release(nsiframe);
650 nsres = nsIContent_QueryInterface(aContent, &IID_nsIDOMHTMLFrameElement, (
void**)&nsframe);
652 TRACE(
"frame node\n");
655 nsIDOMHTMLFrameElement_Release(nsframe);
659 nsres = nsIContent_QueryInterface(aContent, &IID_nsIDOMHTMLScriptElement, (
void**)&nsscript);
664 TRACE(
"script element\n");
667 nsIDOMHTMLScriptElement_Release(nsscript);
685 TRACE(
"(%p)->(%p %p %p)\n",
This, aContent, aParser, aBlock);
687 nsres = nsIContent_QueryInterface(aContent, &IID_nsIDOMHTMLScriptElement, (
void**)&nsscript);
689 TRACE(
"script node\n");
692 nsIDOMHTMLScriptElement_Release(nsscript);
733 nsres = nsIDOMHTMLDocument_QueryInterface(doc->
nsdoc, &IID_nsIDocument, (
void**)&nsdoc);
735 ERR(
"Could not get nsIDocument: %08x\n", nsres);
740 nsIDocument_Release(nsdoc);
748 nsres = nsIDOMHTMLDocument_QueryInterface(doc->
nsdoc, &IID_nsIDocument, (
void**)&nsdoc);
750 ERR(
"Could not get nsIDocument: %08x\n", nsres);
755 nsIDocument_Release(nsdoc);
764 nsres = nsIDOMHTMLDocument_QueryInterface(nsdoc, &IID_nsIDocument, (
void**)&doc);
768 nsIDocument_Release(doc);
779 if(!component_manager) {
788 &IID_nsIFactory, (
void**)&
factory);
790 ERR(
"Could not create nsIContentUtils service: %08x\n", nsres);
797 ERR(
"Could not create nsIContentUtils instance: %08x\n", nsres);
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
static void list_remove(struct list_entry *entry)
static int list_empty(struct list_entry *head)
void call_property_onchanged(ConnectionPointContainer *container, DISPID dispid)
void init_editor(HTMLDocument *This)
GLuint GLuint GLuint GLuint arg1
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
GLenum GLuint GLenum GLsizei const GLchar * buf
HRESULT replace_node_by_html(nsIDOMHTMLDocument *nsdoc, nsIDOMNode *nsnode, const WCHAR *html)
void check_event_attr(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem)
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
HRESULT script_elem_from_nsscript(HTMLDocumentNode *doc, nsIDOMHTMLScriptElement *nsscript, HTMLScriptElement **ret)
void bind_event_scripts(HTMLDocumentNode *) DECLSPEC_HIDDEN
void doc_insert_script(HTMLInnerWindow *, HTMLScriptElement *) DECLSPEC_HIDDEN
#define memcpy(s1, s2, n)
#define comment(fmt, arg1)
static IHTMLWindow2 * window
static IRunnableObject * runnable
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
UINT32 nsAString_GetData(const nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
static void node_release(HTMLDOMNode *node)
static ULONG htmldoc_addref(HTMLDocument *This)
static ULONG htmldoc_release(HTMLDocument *This)
#define NS_SUCCEEDED(res)
void set_ready_state(HTMLOuterWindow *, READYSTATE) DECLSPEC_HIDDEN
nsresult(* runnable_proc_t)(HTMLDocumentNode *, nsISupports *, nsISupports *)
static void NSAPI nsDocumentObserver_ContentAppended(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContainer, nsIContent *aFirstNewContent, LONG aNewIndexInContainer)
static nsresult NSAPI nsRunnable_Run(nsIRunnable *iface)
static const nsIDocumentObserverVtbl nsDocumentObserverVtbl
static const nsIRunnableVtbl nsRunnableVtbl
static nsrefcnt NSAPI nsRunnable_AddRef(nsIRunnable *iface)
static void NSAPI nsDocumentObserver_StyleSheetRemoved(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, cpp_bool aDocumentSheet)
static nsrefcnt NSAPI nsRunnable_Release(nsIRunnable *iface)
static nsrefcnt NSAPI nsDocumentObserver_Release(nsIDocumentObserver *iface)
static void add_script_runner(HTMLDocumentNode *This, runnable_proc_t proc, nsISupports *arg1, nsISupports *arg2)
static void NSAPI nsDocumentObserver_AttributeChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContent, LONG aNameSpaceID, nsIAtom *aAttribute, LONG aModType)
static void parse_complete(HTMLDocumentObj *doc)
static void NSAPI nsDocumentObserver_CharacterDataWillChange(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContent, void *aInfo)
static void NSAPI nsDocumentObserver_DocumentStatesChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, EventStates aStateMask)
static void NSAPI nsDocumentObserver_EndUpdate(nsIDocumentObserver *iface, nsIDocument *aDocument, nsUpdateType aUpdateType)
static void NSAPI nsDocumentObserver_ContentStatesChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContent, EventStates aStateMask)
void init_document_mutation(HTMLDocumentNode *doc)
static void NSAPI nsDocumentObserver_StyleSheetAdded(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, cpp_bool aDocumentSheet)
static PRUnichar * handle_insert_comment(HTMLDocumentNode *doc, const PRUnichar *comment)
static nsresult run_end_load(HTMLDocumentNode *This, nsISupports *arg1, nsISupports *arg2)
static const IID NS_ICONTENTUTILS_CID
static void NSAPI nsDocumentObserver_NodeWillBeDestroyed(nsIDocumentObserver *iface, const nsINode *aNode)
static void NSAPI nsDocumentObserver_ContentInserted(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContainer, nsIContent *aChild, LONG aIndexInContainer)
static nsresult NSAPI nsDocumentObserver_QueryInterface(nsIDocumentObserver *iface, nsIIDRef riid, void **result)
static void NSAPI nsDocumentObserver_BeginLoad(nsIDocumentObserver *iface, nsIDocument *aDocument)
static void NSAPI nsDocumentObserver_AttemptToExecuteScript(nsIDocumentObserver *iface, nsIContent *aContent, nsIParser *aParser, cpp_bool *aBlock)
static void NSAPI nsDocumentObserver_BindToDocument(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContent)
void release_document_mutation(HTMLDocumentNode *doc)
static void NSAPI nsDocumentObserver_StyleRuleChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aOldStyleRule, nsIStyleSheet *aNewStyleRule)
static void NSAPI nsDocumentObserver_CharacterDataChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContent, void *aInfo)
JSContext * get_context_from_document(nsIDOMHTMLDocument *nsdoc)
static nsrefcnt NSAPI nsDocumentObserver_AddRef(nsIDocumentObserver *iface)
static void NSAPI nsDocumentObserver_ParentChainChanged(nsIDocumentObserver *iface, nsIContent *aContent)
static void NSAPI nsDocumentObserver_EndLoad(nsIDocumentObserver *iface, nsIDocument *aDocument)
static void NSAPI nsDocumentObserver_BeginUpdate(nsIDocumentObserver *iface, nsIDocument *aDocument, nsUpdateType aUpdateType)
static HTMLDocumentNode * impl_from_nsIDocumentObserver(nsIDocumentObserver *iface)
static void NSAPI nsDocumentObserver_AttributeWillChange(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContent, LONG aNameSpaceID, nsIAtom *aAttribute, LONG aModType)
static nsresult NSAPI nsRunnable_QueryInterface(nsIRunnable *iface, nsIIDRef riid, void **result)
static nsIContentUtils * content_utils
static void call_explorer_69(HTMLDocumentObj *doc)
static void NSAPI nsDocumentObserver_ContentRemoved(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIContent *aContainer, nsIContent *aChild, LONG aIndexInContainer, nsIContent *aProviousSibling)
static nsresult run_insert_script(HTMLDocumentNode *doc, nsISupports *script_iface, nsISupports *parser_iface)
static nsRunnable * impl_from_nsIRunnable(nsIRunnable *iface)
static void NSAPI nsDocumentObserver_StyleRuleAdded(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule)
static nsresult run_bind_to_tree(HTMLDocumentNode *doc, nsISupports *nsiface, nsISupports *arg2)
void init_mutation(nsIComponentManager *component_manager)
static void NSAPI nsDocumentObserver_StyleRuleRemoved(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule)
static void NSAPI nsDocumentObserver_StyleSheetApplicableStateChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, cpp_bool aApplicable)
static nsresult run_insert_comment(HTMLDocumentNode *doc, nsISupports *comment_iface, nsISupports *arg2)
static void NSAPI nsDocumentObserver_AttributeSetToCurrentValue(nsIDocumentObserver *iface, nsIDocument *aDocument, void *aElement, LONG aNameSpaceID, nsIAtom *aAttribute)
#define IsEqualGUID(rguid1, rguid2)
nsIDocumentObserver nsIDocumentObserver_iface
nsIDOMHTMLDocument * nsdoc
IDocObjectService * doc_object_service
ConnectionPointContainer cp_container
IHTMLScriptElement IHTMLScriptElement_iface
IHTMLWindow2 IHTMLWindow2_iface
nsIRunnable nsIRunnable_iface
HTMLScriptElement * script
#define CONTAINING_RECORD(address, type, field)
void WINAPI VariantInit(VARIANTARG *pVarg)