Module: wine Branch: master Commit: c4fe86dabd6c60a81b04ec0154d43c3fae5c9395 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c4fe86dabd6c60a81b04ec015...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Mar 16 19:57:01 2021 +0100
mshtml: Initialize HTMLStorage object with compat mode.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mshtml/htmlstorage.c | 4 ++-- dlls/mshtml/htmlwindow.c | 6 ++++-- dlls/mshtml/mshtml_private.h | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/mshtml/htmlstorage.c b/dlls/mshtml/htmlstorage.c index bc4b59b7f05..705c6248802 100644 --- a/dlls/mshtml/htmlstorage.c +++ b/dlls/mshtml/htmlstorage.c @@ -197,7 +197,7 @@ static dispex_static_data_t HTMLStorage_dispex = { HTMLStorage_iface_tids };
-HRESULT create_storage(IHTMLStorage **p) +HRESULT create_html_storage(compat_mode_t compat_mode, IHTMLStorage **p) { HTMLStorage *storage;
@@ -207,7 +207,7 @@ HRESULT create_storage(IHTMLStorage **p)
storage->IHTMLStorage_iface.lpVtbl = &HTMLStorageVtbl; storage->ref = 1; - init_dispex(&storage->dispex, (IUnknown*)&storage->IHTMLStorage_iface, &HTMLStorage_dispex); + init_dispex_with_compat_mode(&storage->dispex, (IUnknown*)&storage->IHTMLStorage_iface, &HTMLStorage_dispex, compat_mode);
*p = &storage->IHTMLStorage_iface; return S_OK; diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index bc12d0decbc..9da2f7ccbae 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -2137,7 +2137,8 @@ static HRESULT WINAPI HTMLWindow6_get_sessionStorage(IHTMLWindow6 *iface, IHTMLS if(!This->inner_window->session_storage) { HRESULT hres;
- hres = create_storage(&This->inner_window->session_storage); + hres = create_html_storage(dispex_compat_mode(&This->inner_window->event_target.dispex), + &This->inner_window->session_storage); if(FAILED(hres)) return hres; } @@ -2156,7 +2157,8 @@ static HRESULT WINAPI HTMLWindow6_get_localStorage(IHTMLWindow6 *iface, IHTMLSto if(!This->inner_window->local_storage) { HRESULT hres;
- hres = create_storage(&This->inner_window->local_storage); + hres = create_html_storage(dispex_compat_mode(&This->inner_window->event_target.dispex), + &This->inner_window->local_storage); if(FAILED(hres)) return hres; } diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index e213cd698ba..c58a6a563df 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -919,7 +919,7 @@ HRESULT create_namespace_collection(compat_mode_t,IHTMLNamespaceCollection**) DE HRESULT create_dom_implementation(HTMLDocumentNode*,IHTMLDOMImplementation**) DECLSPEC_HIDDEN; void detach_dom_implementation(IHTMLDOMImplementation*) DECLSPEC_HIDDEN;
-HRESULT create_storage(IHTMLStorage**) DECLSPEC_HIDDEN; +HRESULT create_html_storage(compat_mode_t,IHTMLStorage**) DECLSPEC_HIDDEN;
void HTMLDocument_Persist_Init(HTMLDocument*) DECLSPEC_HIDDEN; void HTMLDocument_OleCmd_Init(HTMLDocument*) DECLSPEC_HIDDEN;