Module: wine Branch: master Commit: dbe0de733796ac6d31b2b1d78697093544052716 URL: http://source.winehq.org/git/wine.git/?a=commit;h=dbe0de733796ac6d31b2b1d786...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Aug 11 19:14:17 2009 +0200
mshtml: Moved TASK_PARSECOMPLETE to nsIMutationObserver::EndLoad.
---
dlls/mshtml/mutation.c | 16 ++++++++++++++++ dlls/mshtml/navigate.c | 17 ----------------- dlls/mshtml/nsevents.c | 13 ------------- 3 files changed, 16 insertions(+), 30 deletions(-)
diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c index 6060a8d..f161de4 100644 --- a/dlls/mshtml/mutation.c +++ b/dlls/mshtml/mutation.c @@ -461,6 +461,22 @@ static void NSAPI nsDocumentObserver_BeginLoad(nsIDocumentObserver *iface, nsIDo
static void NSAPI nsDocumentObserver_EndLoad(nsIDocumentObserver *iface, nsIDocument *aDocument) { + NSContainer *This = NSDOCOBS_THIS(iface); + task_t *task; + + TRACE("\n"); + + task = heap_alloc(sizeof(task_t)); + + task->doc = This->doc; + task->task_id = TASK_PARSECOMPLETE; + task->next = NULL; + + /* + * This should be done in the worker thread that parses HTML, + * but we don't have such thread (Gecko parses HTML for us). + */ + push_task(task); }
static void NSAPI nsDocumentObserver_ContentStatesChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c index eee0b34..fb743f4 100644 --- a/dlls/mshtml/navigate.c +++ b/dlls/mshtml/navigate.c @@ -978,23 +978,6 @@ static HRESULT nsChannelBSC_stop_binding(BSCallback *bsc, HRESULT result) } }
- if(FAILED(result)) - return S_OK; - - if(This->bsc.doc && This->bsc.doc->bscallback == This && !This->bsc.doc->nscontainer) { - task_t *task = heap_alloc(sizeof(task_t)); - - task->doc = This->bsc.doc; - task->task_id = TASK_PARSECOMPLETE; - task->next = NULL; - - /* - * This should be done in the worker thread that parses HTML, - * but we don't have such thread. - */ - push_task(task); - } - return S_OK; }
diff --git a/dlls/mshtml/nsevents.c b/dlls/mshtml/nsevents.c index 1933c57..0ba11d2 100644 --- a/dlls/mshtml/nsevents.c +++ b/dlls/mshtml/nsevents.c @@ -131,7 +131,6 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event { NSContainer *This = NSEVENTLIST_THIS(iface)->This; nsIDOMHTMLElement *nsbody = NULL; - task_t *task;
TRACE("(%p)\n", This);
@@ -149,18 +148,6 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event if(This->doc->usermode == EDITMODE) handle_edit_load(This->doc);
- task = heap_alloc(sizeof(task_t)); - - task->doc = This->doc; - task->task_id = TASK_PARSECOMPLETE; - task->next = NULL; - - /* - * This should be done in the worker thread that parses HTML, - * but we don't have such thread (Gecko parses HTML for us). - */ - push_task(task); - if(!This->doc->nsdoc) { ERR("NULL nsdoc\n"); return NS_ERROR_FAILURE;