From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/mutation.c | 2 +- dlls/mshtml/nsevents.c | 3 +-- dlls/mshtml/persist.c | 3 +++ dlls/mshtml/tests/htmldoc.c | 1 - 4 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c index d7167ebe2da..e308c1af31b 100644 --- a/dlls/mshtml/mutation.c +++ b/dlls/mshtml/mutation.c @@ -283,7 +283,7 @@ static void parse_complete(HTMLDocumentObj *doc) call_property_onchanged(&doc->cp_container, 1005); call_explorer_69(doc);
- if(doc->webbrowser && doc->nscontainer->usermode != EDITMODE && !(doc->window->load_flags & BINDING_REFRESH)) + if(doc->webbrowser && !(doc->window->load_flags & BINDING_REFRESH)) IDocObjectService_FireNavigateComplete2(doc->doc_object_service, &doc->window->base.IHTMLWindow2_iface, 0);
/* FIXME: IE7 calls EnableModelless(TRUE), EnableModelless(FALSE) and sets interactive state here */ diff --git a/dlls/mshtml/nsevents.c b/dlls/mshtml/nsevents.c index 3bc5dc5baa2..875d2b5bcf6 100644 --- a/dlls/mshtml/nsevents.c +++ b/dlls/mshtml/nsevents.c @@ -358,8 +358,7 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event update_title(doc_obj); }
- if(doc_obj && doc_obj->nscontainer->usermode != EDITMODE && doc_obj->doc_object_service - && !(doc->outer_window->load_flags & BINDING_REFRESH)) + if(doc_obj && doc_obj->doc_object_service && !(doc->outer_window->load_flags & BINDING_REFRESH)) IDocObjectService_FireDocumentComplete(doc_obj->doc_object_service, &doc->outer_window->base.IHTMLWindow2_iface, 0);
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index d586c25e18a..ff5f7ecf0e2 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -413,6 +413,9 @@ HRESULT set_moniker(HTMLOuterWindow *window, IMoniker *mon, IUri *nav_uri, IBind } }
+ if(doc_obj->nscontainer->usermode == EDITMODE) + window->load_flags = BINDING_REFRESH; + download_task = malloc(sizeof(download_proc_task_t)); download_task->doc = doc_obj; download_task->set_download = set_download; diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c index b4971e5784d..bbfac5aa8fa 100644 --- a/dlls/mshtml/tests/htmldoc.c +++ b/dlls/mshtml/tests/htmldoc.c @@ -582,7 +582,6 @@ static void _test_navigation_type(unsigned line, IUnknown *unk) IHTMLPerformanceNavigation_Release(nav);
expected = is_refresh || editmode ? 1 : is_from_hist ? 2 : 0; - todo_wine_if(editmode) ok_(__FILE__,line)(type == expected, "type = %lu, expected %lu\n", type, expected); }