Module: wine Branch: master Commit: 60c9069f800e16006b8a9384a91aa2ab39a6180b URL: http://source.winehq.org/git/wine.git/?a=commit;h=60c9069f800e16006b8a9384a9...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Oct 2 15:44:56 2012 +0200
mshtml: Defer event script evaluation.
---
dlls/mshtml/script.c | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c index 54cee56..823c7b3 100644 --- a/dlls/mshtml/script.c +++ b/dlls/mshtml/script.c @@ -753,12 +753,27 @@ static void parse_inline_script(ScriptHost *script_host, nsIDOMHTMLScriptElement
static void parse_script_elem(ScriptHost *script_host, nsIDOMHTMLScriptElement *nsscript) { + nsAString src_str, event_str; const PRUnichar *src; - nsAString src_str; nsresult nsres;
- nsAString_Init(&src_str, NULL); + nsAString_Init(&event_str, NULL); + nsres = nsIDOMHTMLScriptElement_GetEvent(nsscript, &event_str); + if(NS_SUCCEEDED(nsres)) { + const PRUnichar *event;
+ nsAString_GetData(&event_str, &event); + if(*event) { + TRACE("deferring event %s script evaluation\n", debugstr_w(event)); + nsAString_Finish(&event_str); + return; + } + }else { + ERR("GetAttribute(event) failed: %08x\n", nsres); + } + nsAString_Finish(&event_str); + + nsAString_Init(&src_str, NULL); nsres = nsIDOMHTMLScriptElement_GetSrc(nsscript, &src_str); nsAString_GetData(&src_str, &src);