Jacek Caban : mshtml: Defer event script evaluation.

Alexandre Julliard julliard at winehq.org
Tue Oct 2 14:09:40 CDT 2012


Module: wine
Branch: master
Commit: 60c9069f800e16006b8a9384a91aa2ab39a6180b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=60c9069f800e16006b8a9384a91aa2ab39a6180b

Author: Jacek Caban <jacek at 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);
 




More information about the wine-cvs mailing list