Module: wine Branch: master Commit: ac6cbb79afa01c85331c3317301e53285123814c URL: http://source.winehq.org/git/wine.git/?a=commit;h=ac6cbb79afa01c85331c331730...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Mar 28 18:01:15 2008 +0000
mshtml: Set script engine state to SCRIPTSTATE_CONNECTED when page is loaded.
---
dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/nsevents.c | 1 + dlls/mshtml/script.c | 10 ++++++++++ 3 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 6d44f32..350ffbf 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -450,6 +450,7 @@ HTMLDOMNode *get_node(HTMLDocument*,nsIDOMNode*); void release_nodes(HTMLDocument*);
void release_script_hosts(HTMLDocument*); +void connect_scripts(HTMLDocument*); void doc_insert_script(HTMLDocument*,nsIDOMHTMLScriptElement*);
IHTMLElementCollection *create_all_collection(HTMLDOMNode*); diff --git a/dlls/mshtml/nsevents.c b/dlls/mshtml/nsevents.c index 2fb5ab0..eda1b54 100644 --- a/dlls/mshtml/nsevents.c +++ b/dlls/mshtml/nsevents.c @@ -136,6 +136,7 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event if(!This->doc) return NS_OK;
+ connect_scripts(This->doc); setup_nswindow(This->doc->window);
if(This->editor_controller) { diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c index 3388ca1..4dc1b06 100644 --- a/dlls/mshtml/script.c +++ b/dlls/mshtml/script.c @@ -171,6 +171,16 @@ static void release_script_engine(ScriptHost *This) This->script_state = SCRIPTSTATE_UNINITIALIZED; }
+void connect_scripts(HTMLDocument *doc) +{ + ScriptHost *iter; + + LIST_FOR_EACH_ENTRY(iter, &doc->script_hosts, ScriptHost, entry) { + if(iter->script_state == SCRIPTSTATE_STARTED) + IActiveScript_SetScriptState(iter->script, SCRIPTSTATE_CONNECTED); + } +} + #define ACTSCPSITE_THIS(iface) DEFINE_THIS(ScriptHost, ActiveScriptSite, iface)
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)