diff --git a/patches/gdiplus-Grayscale_PNG/0002-gdiplus-tests-Add-a-test-for-loading-PNG-grayscale-i.patch b/patches/gdiplus-Grayscale_PNG/0002-gdiplus-tests-Add-a-test-for-loading-PNG-grayscale-i.patch index f6d11604..9e1307f0 100644 --- a/patches/gdiplus-Grayscale_PNG/0002-gdiplus-tests-Add-a-test-for-loading-PNG-grayscale-i.patch +++ b/patches/gdiplus-Grayscale_PNG/0002-gdiplus-tests-Add-a-test-for-loading-PNG-grayscale-i.patch @@ -1,4 +1,4 @@ -From 1184612f4eca0f6a09150a42f8b56dce76ffd6b1 Mon Sep 17 00:00:00 2001 +From e567377f438a70ee3c69aed93ac7197ad867d7ad Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Fri, 3 Jun 2016 13:20:14 +0800 Subject: gdiplus/tests: Add a test for loading PNG grayscale images. @@ -8,7 +8,7 @@ Subject: gdiplus/tests: Add a test for loading PNG grayscale images. 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c -index 6a51714..0c28c9e 100644 +index 551d276..ab39dfe 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -2,7 +2,7 @@ @@ -20,8 +20,8 @@ index 6a51714..0c28c9e 100644 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public -@@ -4725,6 +4725,63 @@ static void test_createeffect(void) - } +@@ -4790,6 +4790,63 @@ static void test_getadjustedpalette(void) + GdipDisposeImageAttributes(imageattributes); } +/* RGB 24 bpp 1x1 pixel PNG image */ @@ -84,7 +84,7 @@ index 6a51714..0c28c9e 100644 START_TEST(image) { struct GdiplusStartupInput gdiplusStartupInput; -@@ -4737,6 +4794,7 @@ START_TEST(image) +@@ -4802,6 +4859,7 @@ START_TEST(image) GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); diff --git a/patches/mshtml-Wine_Gecko_2.47/0001-mshtml-Wine-Gecko-2.47-beta1-release.patch b/patches/mshtml-Wine_Gecko_2.47/0001-mshtml-Wine-Gecko-2.47-beta1-release.patch deleted file mode 100644 index fb9c5b9c..00000000 --- a/patches/mshtml-Wine_Gecko_2.47/0001-mshtml-Wine-Gecko-2.47-beta1-release.patch +++ /dev/null @@ -1,1560 +0,0 @@ -From db4dd5eb76f809596d0e3e52c23de65fd823a708 Mon Sep 17 00:00:00 2001 -From: Jacek Caban -Date: Thu, 5 May 2016 12:49:26 +0200 -Subject: mshtml: Wine Gecko 2.47-beta1 release. - ---- - dlls/appwiz.cpl/addons.c | 6 +- - dlls/mshtml/editor.c | 24 ++--- - dlls/mshtml/htmlcurstyle.c | 12 ++- - dlls/mshtml/htmldoc.c | 7 +- - dlls/mshtml/htmlframebase.c | 18 ++-- - dlls/mshtml/htmlwindow.c | 43 +++++--- - dlls/mshtml/mshtml_private.h | 2 + - dlls/mshtml/mutation.c | 19 ++-- - dlls/mshtml/npplugin.c | 10 +- - dlls/mshtml/nsembed.c | 17 ++- - dlls/mshtml/nsiface.idl | 249 ++++++++++++++++++++++++------------------- - dlls/mshtml/nsio.c | 80 +++++++++++--- - dlls/mshtml/nsservice.c | 22 ++-- - dlls/mshtml/olecmd.c | 2 +- - 14 files changed, 320 insertions(+), 191 deletions(-) - -diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c -index 8cbc221..9126ca0 100644 ---- a/dlls/appwiz.cpl/addons.c -+++ b/dlls/appwiz.cpl/addons.c -@@ -51,14 +51,14 @@ - - WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl); - --#define GECKO_VERSION "2.44" -+#define GECKO_VERSION "2.47-beta1" - - #ifdef __i386__ - #define ARCH_STRING "x86" --#define GECKO_SHA "7930300c531d975ad63ee20d5e9b3974e339e43e" -+#define GECKO_SHA "3c7826ee9d18e3354d84e5bcf2c8e573214e7781" - #elif defined(__x86_64__) - #define ARCH_STRING "x86_64" --#define GECKO_SHA "ed473f584938ebe8da1f6e660610e616104567b3" -+#define GECKO_SHA "90cd35e4fa1bfe99919884357fc9f664acb6b923" - #else - #define ARCH_STRING "" - #define GECKO_SHA "???" -diff --git a/dlls/mshtml/editor.c b/dlls/mshtml/editor.c -index 8166094..fb77ee1 100644 ---- a/dlls/mshtml/editor.c -+++ b/dlls/mshtml/editor.c -@@ -136,7 +136,7 @@ static nsresult get_ns_command_state(NSContainer *This, const char *cmd, nsIComm - return nsres; - } - -- nsres = nsICommandManager_GetCommandState(cmdmgr, cmd, This->doc->basedoc.window->nswindow, nsparam); -+ nsres = nsICommandManager_GetCommandState(cmdmgr, cmd, This->doc->basedoc.window->window_proxy, nsparam); - if(NS_FAILED(nsres)) - ERR("GetCommandState(%s) failed: %08x\n", debugstr_a(cmd), nsres); - -@@ -379,23 +379,23 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size) - set_dirty(This, VARIANT_TRUE); - } - --static void handle_arrow_key(HTMLDocument *This, nsIDOMKeyEvent *event, const char * const cmds[4]) -+static void handle_arrow_key(HTMLDocument *This, nsIDOMEvent *event, nsIDOMKeyEvent *key_event, const char * const cmds[4]) - { - int i=0; - cpp_bool b; - -- nsIDOMKeyEvent_GetCtrlKey(event, &b); -+ nsIDOMKeyEvent_GetCtrlKey(key_event, &b); - if(b) - i |= 1; - -- nsIDOMKeyEvent_GetShiftKey(event, &b); -+ nsIDOMKeyEvent_GetShiftKey(key_event, &b); - if(b) - i |= 2; - - if(cmds[i]) - do_ns_editor_command(This->doc_obj->nscontainer, cmds[i]); - -- nsIDOMKeyEvent_PreventDefault(event); -+ nsIDOMEvent_PreventDefault(event); - } - - void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) -@@ -417,7 +417,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) - }; - - TRACE("left\n"); -- handle_arrow_key(This, key_event, cmds); -+ handle_arrow_key(This, event, key_event, cmds); - break; - } - case DOM_VK_RIGHT: { -@@ -429,7 +429,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) - }; - - TRACE("right\n"); -- handle_arrow_key(This, key_event, cmds); -+ handle_arrow_key(This, event, key_event, cmds); - break; - } - case DOM_VK_UP: { -@@ -441,7 +441,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) - }; - - TRACE("up\n"); -- handle_arrow_key(This, key_event, cmds); -+ handle_arrow_key(This, event, key_event, cmds); - break; - } - case DOM_VK_DOWN: { -@@ -453,7 +453,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) - }; - - TRACE("down\n"); -- handle_arrow_key(This, key_event, cmds); -+ handle_arrow_key(This, event, key_event, cmds); - break; - } - case DOM_VK_DELETE: { -@@ -464,7 +464,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) - }; - - TRACE("delete\n"); -- handle_arrow_key(This, key_event, cmds); -+ handle_arrow_key(This, event, key_event, cmds); - break; - } - case DOM_VK_HOME: { -@@ -476,7 +476,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) - }; - - TRACE("home\n"); -- handle_arrow_key(This, key_event, cmds); -+ handle_arrow_key(This, event, key_event, cmds); - break; - } - case DOM_VK_END: { -@@ -488,7 +488,7 @@ void handle_edit_event(HTMLDocument *This, nsIDOMEvent *event) - }; - - TRACE("end\n"); -- handle_arrow_key(This, key_event, cmds); -+ handle_arrow_key(This, event, key_event, cmds); - break; - } - } -diff --git a/dlls/mshtml/htmlcurstyle.c b/dlls/mshtml/htmlcurstyle.c -index df3281d..be28e60 100644 ---- a/dlls/mshtml/htmlcurstyle.c -+++ b/dlls/mshtml/htmlcurstyle.c -@@ -17,6 +17,7 @@ - */ - - #include -+#include - - #define COBJMACROS - -@@ -1323,7 +1324,8 @@ static dispex_static_data_t HTMLCurrentStyle_dispex = { - HRESULT HTMLCurrentStyle_Create(HTMLElement *elem, IHTMLCurrentStyle **p) - { - nsIDOMCSSStyleDeclaration *nsstyle; -- nsIDOMWindow *nsview; -+ mozIDOMWindowProxy *nsview; -+ nsIDOMWindow *nswindow; - nsAString nsempty_str; - HTMLCurrentStyle *ret; - nsresult nsres; -@@ -1339,10 +1341,14 @@ HRESULT HTMLCurrentStyle_Create(HTMLElement *elem, IHTMLCurrentStyle **p) - return E_FAIL; - } - -+ nsres = mozIDOMWindowProxy_QueryInterface(nsview, &IID_nsIDOMWindow, (void**)&nswindow); -+ mozIDOMWindowProxy_Release(nsview); -+ assert(nsres == NS_OK); -+ - nsAString_Init(&nsempty_str, NULL); -- nsres = nsIDOMWindow_GetComputedStyle(nsview, (nsIDOMElement*)elem->nselem, &nsempty_str, &nsstyle); -+ nsres = nsIDOMWindow_GetComputedStyle(nswindow, (nsIDOMElement*)elem->nselem, &nsempty_str, &nsstyle); - nsAString_Finish(&nsempty_str); -- nsIDOMWindow_Release(nsview); -+ nsIDOMWindow_Release(nswindow); - if(NS_FAILED(nsres)) { - ERR("GetComputedStyle failed: %08x\n", nsres); - return E_FAIL; -diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c -index 784a578..04e5280 100644 ---- a/dlls/mshtml/htmldoc.c -+++ b/dlls/mshtml/htmldoc.c -@@ -4884,6 +4884,7 @@ static dispex_static_data_t HTMLDocumentObj_dispex = { - - HRESULT HTMLDocument_Create(IUnknown *pUnkOuter, REFIID riid, void** ppvObject) - { -+ mozIDOMWindowProxy *mozwindow; - HTMLDocumentObj *doc; - nsIDOMWindow *nswindow = NULL; - nsresult nsres; -@@ -4919,10 +4920,14 @@ HRESULT HTMLDocument_Create(IUnknown *pUnkOuter, REFIID riid, void** ppvObject) - if(FAILED(hres)) - return hres; - -- nsres = nsIWebBrowser_GetContentDOMWindow(doc->nscontainer->webbrowser, &nswindow); -+ nsres = nsIWebBrowser_GetContentDOMWindow(doc->nscontainer->webbrowser, &mozwindow); - if(NS_FAILED(nsres)) - ERR("GetContentDOMWindow failed: %08x\n", nsres); - -+ nsres = mozIDOMWindowProxy_QueryInterface(mozwindow, &IID_nsIDOMWindow, (void**)&nswindow); -+ mozIDOMWindowProxy_Release(mozwindow); -+ assert(nsres == NS_OK); -+ - hres = HTMLOuterWindow_Create(doc, nswindow, NULL /* FIXME */, &doc->basedoc.window); - if(nswindow) - nsIDOMWindow_Release(nswindow); -diff --git a/dlls/mshtml/htmlframebase.c b/dlls/mshtml/htmlframebase.c -index bba9678..83cf9fc 100644 ---- a/dlls/mshtml/htmlframebase.c -+++ b/dlls/mshtml/htmlframebase.c -@@ -41,7 +41,7 @@ static const WCHAR pxW[] = {'p','x',0}; - - HRESULT set_frame_doc(HTMLFrameBase *frame, nsIDOMDocument *nsdoc) - { -- nsIDOMWindow *nswindow; -+ mozIDOMWindowProxy *mozwindow; - HTMLOuterWindow *window; - nsresult nsres; - HRESULT hres = S_OK; -@@ -49,15 +49,21 @@ HRESULT set_frame_doc(HTMLFrameBase *frame, nsIDOMDocument *nsdoc) - if(frame->content_window) - return S_OK; - -- nsres = nsIDOMDocument_GetDefaultView(nsdoc, &nswindow); -- if(NS_FAILED(nsres) || !nswindow) -+ nsres = nsIDOMDocument_GetDefaultView(nsdoc, &mozwindow); -+ if(NS_FAILED(nsres) || !mozwindow) - return E_FAIL; - -- window = nswindow_to_window(nswindow); -- if(!window) -+ window = mozwindow_to_window(mozwindow); -+ if(!window) { -+ nsIDOMWindow *nswindow; -+ nsres = mozIDOMWindowProxy_QueryInterface(mozwindow, &IID_nsIDOMWindow, (void**)&nswindow); -+ assert(nsres == NS_OK); -+ - hres = HTMLOuterWindow_Create(frame->element.node.doc->basedoc.doc_obj, nswindow, - frame->element.node.doc->basedoc.window, &window); -- nsIDOMWindow_Release(nswindow); -+ nsIDOMWindow_Release(nswindow); -+ } -+ mozIDOMWindowProxy_Release(mozwindow); - if(FAILED(hres)) - return hres; - -diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c -index 5f46c2a..36043e4 100644 ---- a/dlls/mshtml/htmlwindow.c -+++ b/dlls/mshtml/htmlwindow.c -@@ -217,6 +217,8 @@ static void release_outer_window(HTMLOuterWindow *This) - - if(This->nswindow) - nsIDOMWindow_Release(This->nswindow); -+ if(This->window_proxy) -+ mozIDOMWindowProxy_Release(This->window_proxy); - - list_remove(&This->entry); - heap_free(This); -@@ -333,7 +335,7 @@ static HRESULT WINAPI HTMLWindow2_Invoke(IHTMLWindow2 *iface, DISPID dispIdMembe - static HRESULT get_frame_by_index(HTMLOuterWindow *This, UINT32 index, HTMLOuterWindow **ret) - { - nsIDOMWindowCollection *nsframes; -- nsIDOMWindow *nswindow; -+ mozIDOMWindowProxy *mozwindow; - UINT32 length; - nsresult nsres; - -@@ -351,16 +353,16 @@ static HRESULT get_frame_by_index(HTMLOuterWindow *This, UINT32 index, HTMLOuter - return DISP_E_MEMBERNOTFOUND; - } - -- nsres = nsIDOMWindowCollection_Item(nsframes, index, &nswindow); -+ nsres = nsIDOMWindowCollection_Item(nsframes, index, &mozwindow); - nsIDOMWindowCollection_Release(nsframes); - if(NS_FAILED(nsres)) { - FIXME("nsIDOMWindowCollection_Item failed: 0x%08x\n", nsres); - return E_FAIL; - } - -- *ret = nswindow_to_window(nswindow); -+ *ret = mozwindow_to_window(mozwindow); - -- nsIDOMWindow_Release(nswindow); -+ mozIDOMWindowProxy_Release(mozwindow); - return S_OK; - } - -@@ -368,7 +370,7 @@ HRESULT get_frame_by_name(HTMLOuterWindow *This, const WCHAR *name, BOOL deep, H - { - nsIDOMWindowCollection *nsframes; - HTMLOuterWindow *window = NULL; -- nsIDOMWindow *nswindow; -+ mozIDOMWindowProxy *mozwindow; - nsAString name_str; - UINT32 length, i; - nsresult nsres; -@@ -386,15 +388,15 @@ HRESULT get_frame_by_name(HTMLOuterWindow *This, const WCHAR *name, BOOL deep, H - } - - nsAString_InitDepend(&name_str, name); -- nsres = nsIDOMWindowCollection_NamedItem(nsframes, &name_str, &nswindow); -+ nsres = nsIDOMWindowCollection_NamedItem(nsframes, &name_str, &mozwindow); - nsAString_Finish(&name_str); - if(NS_FAILED(nsres)) { - nsIDOMWindowCollection_Release(nsframes); - return E_FAIL; - } - -- if(nswindow) { -- *ret = nswindow_to_window(nswindow); -+ if(mozwindow) { -+ *ret = mozwindow_to_window(mozwindow); - return S_OK; - } - -@@ -405,19 +407,19 @@ HRESULT get_frame_by_name(HTMLOuterWindow *This, const WCHAR *name, BOOL deep, H - HTMLOuterWindow *window_iter; - BSTR id; - -- nsres = nsIDOMWindowCollection_Item(nsframes, i, &nswindow); -+ nsres = nsIDOMWindowCollection_Item(nsframes, i, &mozwindow); - if(NS_FAILED(nsres)) { - FIXME("nsIDOMWindowCollection_Item failed: 0x%08x\n", nsres); - hres = E_FAIL; - break; - } - -- window_iter = nswindow_to_window(nswindow); -+ window_iter = mozwindow_to_window(mozwindow); - -- nsIDOMWindow_Release(nswindow); -+ mozIDOMWindowProxy_Release(mozwindow); - - if(!window_iter) { -- WARN("nsIDOMWindow without HTMLOuterWindow: %p\n", nswindow); -+ WARN("nsIDOMWindow without HTMLOuterWindow: %p\n", mozwindow); - continue; - } - -@@ -3031,8 +3033,13 @@ HRESULT HTMLOuterWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, - window->window_ref->ref = 1; - - if(nswindow) { -+ nsresult nsres; -+ - nsIDOMWindow_AddRef(nswindow); - window->nswindow = nswindow; -+ -+ nsres = nsIDOMWindow_QueryInterface(nswindow, &IID_mozIDOMWindowProxy, (void**)&window->window_proxy); -+ assert(nsres == NS_OK); - } - - window->scriptmode = parent ? parent->scriptmode : SCRIPTMODE_GECKO; -@@ -3171,3 +3178,15 @@ HTMLOuterWindow *nswindow_to_window(const nsIDOMWindow *nswindow) - - return NULL; - } -+ -+HTMLOuterWindow *mozwindow_to_window(const mozIDOMWindowProxy *mozwindow) -+{ -+ HTMLOuterWindow *iter; -+ -+ LIST_FOR_EACH_ENTRY(iter, &window_list, HTMLOuterWindow, entry) { -+ if(iter->window_proxy == mozwindow) -+ return iter; -+ } -+ -+ return NULL; -+} -diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h -index 71cb06f..095b9dc 100644 ---- a/dlls/mshtml/mshtml_private.h -+++ b/dlls/mshtml/mshtml_private.h -@@ -422,6 +422,7 @@ struct HTMLOuterWindow { - - HTMLDocumentObj *doc_obj; - nsIDOMWindow *nswindow; -+ mozIDOMWindowProxy *window_proxy; - HTMLOuterWindow *parent; - HTMLFrameBase *frame_element; - -@@ -800,6 +801,7 @@ HRESULT create_doc_from_nsdoc(nsIDOMHTMLDocument*,HTMLDocumentObj*,HTMLInnerWind - HRESULT HTMLOuterWindow_Create(HTMLDocumentObj*,nsIDOMWindow*,HTMLOuterWindow*,HTMLOuterWindow**) DECLSPEC_HIDDEN; - HRESULT update_window_doc(HTMLInnerWindow*) DECLSPEC_HIDDEN; - HTMLOuterWindow *nswindow_to_window(const nsIDOMWindow*) DECLSPEC_HIDDEN; -+HTMLOuterWindow *mozwindow_to_window(const mozIDOMWindowProxy*) DECLSPEC_HIDDEN; - void get_top_window(HTMLOuterWindow*,HTMLOuterWindow**) DECLSPEC_HIDDEN; - HRESULT HTMLOptionElementFactory_Create(HTMLInnerWindow*,HTMLOptionElementFactory**) DECLSPEC_HIDDEN; - HRESULT HTMLImageElementFactory_Create(HTMLInnerWindow*,HTMLImageElementFactory**) DECLSPEC_HIDDEN; -diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c -index 22a3e61..adde295 100644 ---- a/dlls/mshtml/mutation.c -+++ b/dlls/mshtml/mutation.c -@@ -606,33 +606,30 @@ static void NSAPI nsDocumentObserver_DocumentStatesChanged(nsIDocumentObserver * - { - } - --static void NSAPI nsDocumentObserver_StyleSheetAdded(nsIDocumentObserver *iface, nsIDocument *aDocument, -- nsIStyleSheet *aStyleSheet, cpp_bool aDocumentSheet) -+static void NSAPI nsDocumentObserver_StyleSheetAdded(nsIDocumentObserver *iface, mozilla_StyleSheetHandle aStyleSheet, -+ cpp_bool aDocumentSheet) - { - } - --static void NSAPI nsDocumentObserver_StyleSheetRemoved(nsIDocumentObserver *iface, nsIDocument *aDocument, -- nsIStyleSheet *aStyleSheet, cpp_bool aDocumentSheet) -+static void NSAPI nsDocumentObserver_StyleSheetRemoved(nsIDocumentObserver *iface, mozilla_StyleSheetHandle aStyleSheet, -+ cpp_bool aDocumentSheet) - { - } - - static void NSAPI nsDocumentObserver_StyleSheetApplicableStateChanged(nsIDocumentObserver *iface, -- nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, cpp_bool aApplicable) -+ mozilla_StyleSheetHandle aStyleSheet) - { - } - --static void NSAPI nsDocumentObserver_StyleRuleChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, -- nsIStyleSheet *aStyleSheet, nsIStyleRule *aOldStyleRule, nsIStyleSheet *aNewStyleRule) -+static void NSAPI nsDocumentObserver_StyleRuleChanged(nsIDocumentObserver *iface, mozilla_StyleSheetHandle aStyleSheet) - { - } - --static void NSAPI nsDocumentObserver_StyleRuleAdded(nsIDocumentObserver *iface, nsIDocument *aDocument, -- nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule) -+static void NSAPI nsDocumentObserver_StyleRuleAdded(nsIDocumentObserver *iface, mozilla_StyleSheetHandle aStyleSheet) - { - } - --static void NSAPI nsDocumentObserver_StyleRuleRemoved(nsIDocumentObserver *iface, nsIDocument *aDocument, -- nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule) -+static void NSAPI nsDocumentObserver_StyleRuleRemoved(nsIDocumentObserver *iface, mozilla_StyleSheetHandle aStyleSheet) - { - } - -diff --git a/dlls/mshtml/npplugin.c b/dlls/mshtml/npplugin.c -index 6ae503f..302ff42 100644 ---- a/dlls/mshtml/npplugin.c -+++ b/dlls/mshtml/npplugin.c -@@ -244,7 +244,7 @@ static nsIDOMHTMLElement *get_dom_element(NPP instance) - - static HTMLInnerWindow *get_elem_window(nsIDOMHTMLElement *elem) - { -- nsIDOMWindow *nswindow; -+ mozIDOMWindowProxy *mozwindow; - nsIDOMDocument *nsdoc; - HTMLOuterWindow *window; - nsresult nsres; -@@ -253,13 +253,13 @@ static HTMLInnerWindow *get_elem_window(nsIDOMHTMLElement *elem) - if(NS_FAILED(nsres)) - return NULL; - -- nsres = nsIDOMDocument_GetDefaultView(nsdoc, &nswindow); -+ nsres = nsIDOMDocument_GetDefaultView(nsdoc, &mozwindow); - nsIDOMDocument_Release(nsdoc); -- if(NS_FAILED(nsres) || !nswindow) -+ if(NS_FAILED(nsres) || !mozwindow) - return NULL; - -- window = nswindow_to_window(nswindow); -- nsIDOMWindow_Release(nswindow); -+ window = mozwindow_to_window(mozwindow); -+ mozIDOMWindowProxy_Release(mozwindow); - - return window->base.inner_window; - } -diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c -index 17851ce..22f37af 100644 ---- a/dlls/mshtml/nsembed.c -+++ b/dlls/mshtml/nsembed.c -@@ -1059,7 +1059,7 @@ void get_editor_controller(NSContainer *This) - } - - nsres = nsIEditingSession_GetEditorForWindow(editing_session, -- This->doc->basedoc.window->nswindow, &This->editor); -+ This->doc->basedoc.window->window_proxy, &This->editor); - nsIEditingSession_Release(editing_session); - if(NS_FAILED(nsres)) { - ERR("Could not get editor: %08x\n", nsres); -@@ -1903,9 +1903,9 @@ static nsresult NSAPI nsInterfaceRequestor_GetInterface(nsIInterfaceRequestor *i - { - NSContainer *This = impl_from_nsIInterfaceRequestor(iface); - -- if(IsEqualGUID(&IID_nsIDOMWindow, riid)) { -+ if(IsEqualGUID(&IID_mozIDOMWindowProxy, riid)) { - TRACE("(%p)->(IID_nsIDOMWindow %p)\n", This, result); -- return nsIWebBrowser_GetContentDOMWindow(This->webbrowser, (nsIDOMWindow**)result); -+ return nsIWebBrowser_GetContentDOMWindow(This->webbrowser, (mozIDOMWindowProxy**)result); - } - - return nsIWebBrowserChrome_QueryInterface(&This->nsIWebBrowserChrome_iface, riid, result); -@@ -2161,6 +2161,7 @@ void NSContainer_Release(NSContainer *This) - - nsIXMLHttpRequest *create_nsxhr(nsIDOMWindow *nswindow) - { -+ mozIDOMWindow *inner_window; - nsIScriptSecurityManager *secman; - nsIPrincipal *nspri; - nsIGlobalObject *nsglo; -@@ -2182,7 +2183,15 @@ nsIXMLHttpRequest *create_nsxhr(nsIDOMWindow *nswindow) - return NULL; - } - -- nsres = nsIDOMWindow_QueryInterface(nswindow, &IID_nsIGlobalObject, (void **)&nsglo); -+ nsres = nsIDOMWindow_GetInnerWindow(nswindow, &inner_window); -+ if(NS_FAILED(nsres)) { -+ ERR("Could not get inner window: %08x\n", nsres); -+ nsISupports_Release(nspri); -+ return NULL; -+ } -+ -+ nsres = mozIDOMWindow_QueryInterface(inner_window, &IID_nsIGlobalObject, (void **)&nsglo); -+ mozIDOMWindow_Release(inner_window); - assert(nsres == NS_OK); - - nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr, -diff --git a/dlls/mshtml/nsiface.idl b/dlls/mshtml/nsiface.idl -index 22a71f8..efe8015 100644 ---- a/dlls/mshtml/nsiface.idl -+++ b/dlls/mshtml/nsiface.idl -@@ -25,7 +25,7 @@ - - #pragma makedep header - --cpp_quote("#define GECKO_VERSION \"2.44\"") -+cpp_quote("#define GECKO_VERSION \"2.47-beta1\"") - cpp_quote("#define GECKO_VERSION_STRING \"Wine Gecko \" GECKO_VERSION") - - import "wtypes.idl"; -@@ -113,6 +113,7 @@ interface nsISelection; - interface nsIDOMHTMLSelectElement; - interface nsIFile; - interface nsIDocShell; -+interface mozIDOMWindowProxy; - - interface IMoniker; - -@@ -150,8 +151,6 @@ typedef nsISupports nsIDOMMediaList; - typedef nsISupports nsIDOMHTMLTableSectionElement; - typedef nsISupports nsIDOMClientRectList; - typedef nsISupports nsINode; --typedef nsISupports nsIStyleSheet; --typedef nsISupports nsIStyleRule; - typedef nsISupports nsIDOMUserDataHandler; - typedef nsISupports nsISHEntry; - typedef nsISupports nsIPresShell; -@@ -490,6 +489,7 @@ interface nsIMutable : nsISupports - interface nsIStandardURL : nsIMutable - { - nsresult Init(uint32_t aUrlType, int32_t aDefaultPort, const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI); -+ nsresult SetDefaultPort(int32_t aNewDefaultPort); - } - - [ -@@ -553,6 +553,8 @@ interface nsILoadGroup : nsIRequest - nsresult GetSchedulingContextID(nsID *aSchedulingContextID); - nsresult GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags); - nsresult SetDefaultLoadFlags(nsLoadFlags aDefaultLoadFlags); -+ nsresult GetUserAgentOverrideCache(nsACString *aUserAgentOverrideCache); -+ nsresult SetUserAgentOverrideCache(const nsACString *aUserAgentOverrideCache); - } - - [ -@@ -612,7 +614,7 @@ interface nsIHttpHeaderVisitor : nsISupports - - [ - object, -- uuid(e90acf2d-eaf2-41d8-97b2-c8d99f6437a1), -+ uuid(b2596105-3d0d-4e6a-824f-0539713bb879), - local - ] - interface nsIHttpChannel : nsIChannel -@@ -623,6 +625,10 @@ interface nsIHttpChannel : nsIChannel - nsresult SetReferrer(nsIURI *aReferrer); - nsresult GetReferrerPolicy(uint32_t *aReferrerPolicy); - nsresult SetReferrerWithPolicy(nsIURI *referrer, uint32_t referrerPolicy); -+ nsresult GetProtocolVersion(nsACString *aProtocolVersion); -+ nsresult GetTransferSize(uint64_t *aTransferSize); -+ nsresult GetDecodedBodySize(uint64_t *aDecodedBodySize); -+ nsresult GetEncodedBodySize(uint64_t *aEncodedBodySize); - nsresult GetRequestHeader(const nsACString *aHeader, nsACString *_retval); - nsresult SetRequestHeader(const nsACString *aHeader, const nsACString *aValue, bool aMerge); - nsresult SetEmptyRequestHeader(const nsACString *aHeader); -@@ -645,14 +651,14 @@ interface nsIHttpChannel : nsIChannel - nsresult IsNoStoreResponse(bool *_retval); - nsresult IsNoCacheResponse(bool *_retval); - nsresult IsPrivateResponse(bool *_retval); -- nsresult RedirectTo(nsIURI *aNewURI); -+ nsresult RedirectTo(nsIURI *aTargetURI); - nsresult GetSchedulingContextID(nsID *aSchedulingContextID); - nsresult SetSchedulingContextID(const nsID aSchedulingContextID); - } - - [ - object, -- uuid(9eabaac6-cc7c-4ca1-9430-65f2daaa578f), -+ uuid(4e28263d-1e03-46f4-aa5c-9512f91957f9), - local - ] - interface nsIHttpChannelInternal : nsISupports -@@ -699,8 +705,9 @@ interface nsIHttpChannelInternal : nsISupports - nsresult GetNetworkInterfaceId(nsACString *aNetworkInterfaceId); - nsresult SetNetworkInterfaceId(const nsACString *aNetworkInterfaceId); - nsresult GetProxyURI(nsIURI **aProxyURI); -- nsresult SetCorsPreflightParameters(const void /*nsTArray*/ *unsafeHeaders, -- bool withCredentials, nsIPrincipal *preflightPrincipal); -+ nsresult SetCorsPreflightParameters(const void /*nsTArray*/ *unsafeHeaders); -+ nsresult GetBlockAuthPrompt(bool *aBlockAuthPrompt) ; -+ nsresult SetBlockAuthPrompt(bool aBlockAuthPrompt); - } - - [ -@@ -1188,7 +1195,7 @@ interface nsIDOMDocumentFragment : nsIDOMNode - - [ - object, -- uuid(35dc5030-dc83-4291-88a2-0906c549788e), -+ uuid(b15fa0f4-97c1-4388-af62-2ceff7a89bdf), - local - ] - interface nsIDOMDocument : nsIDOMNode -@@ -1220,7 +1227,7 @@ interface nsIDOMDocument : nsIDOMNode - nsIDOMTreeWalker **_retval); - cpp_quote("#undef CreateEvent") - nsresult CreateEvent(const nsAString *eventType, nsIDOMEvent **_retval); -- nsresult GetDefaultView(nsIDOMWindow **aDefaultView); -+ nsresult GetDefaultView(mozIDOMWindowProxy **aDefaultView); - nsresult GetCharacterSet(nsAString *aCharacterSet); - nsresult GetDir(nsAString *aDir); - nsresult SetDir(const nsAString *aDir); -@@ -1264,7 +1271,7 @@ interface nsIDOMDocument : nsIDOMNode - - [ - object, -- uuid(bd2a0a46-17e4-46ea-9e5d-6a97cf5e3b28), -+ uuid(cd31e61f-cfc2-4b91-9385-17b6a2d0633d), - local - ] - interface nsIDOMHTMLDocument : nsIDOMDocument -@@ -1394,14 +1401,32 @@ interface nsISelection : nsISupports - - [ - object, -- uuid(a6cf906f-15b3-11d2-932e-00805f8add32), -+ uuid(8d64f457-fb8c-49ea-a359-cef30eed9774), - local - ] - interface nsIDOMWindowCollection : nsISupports - { - nsresult GetLength(uint32_t *aLength); -- nsresult Item(uint32_t index, nsIDOMWindow **_retval); -- nsresult NamedItem(const nsAString *name, nsIDOMWindow **_retval); -+ nsresult Item(uint32_t index, mozIDOMWindowProxy **_retval); -+ nsresult NamedItem(const nsAString *name, mozIDOMWindowProxy **_retval); -+} -+ -+[ -+ object, -+ uuid(75fbabd6-7a2e-4787-aa33-449a33512135), -+ local -+] -+interface mozIDOMWindow : nsISupports -+{ -+} -+ -+[ -+ object, -+ uuid(53ca090c-e739-48b9-8911-208c72f9191e), -+ local -+] -+interface mozIDOMWindowProxy : nsISupports -+{ - } - - [ -@@ -1422,8 +1447,8 @@ interface nsIDOMWindow : nsISupports - nsresult GetLength(uint32_t *aLength); - nsresult GetRealTop(nsIDOMWindow **aTop); - nsresult GetRealParent(nsIDOMWindow **aParent); -- nsresult GetOpener(nsIDOMWindow **aOpenerWindow); -- nsresult SetOpener(nsIDOMWindow *aOpenerWindow); -+ nsresult GetOpener(mozIDOMWindowProxy **aOpenerWindow); -+ nsresult SetOpener(mozIDOMWindowProxy *aOpenerWindow); - nsresult GetRealFrameElement(nsIDOMElement **aFrameElement); - nsresult GetNavigator(nsIDOMNavigator **aNavigator); - nsresult Print(); -@@ -1471,6 +1496,8 @@ interface nsIDOMWindow : nsISupports - nsresult Open(const nsAString *url, const nsAString *name, const nsAString *options, nsIDOMWindow **_retval); - nsresult Find(const nsAString *str, bool caseSensitive, bool backwards, bool wrapAround, bool wholeWord, - bool searchInFrames, bool showDialog, bool *_retval); -+ nsresult GetInnerWindow(mozIDOMWindow **aInnerWindow); -+ nsresult GetOuterWindow(mozIDOMWindowProxy **aOuterWindow); - } - - [ -@@ -2116,14 +2143,13 @@ interface nsIDOMHTMLIFrameElement : nsISupports - nsresult GetWidth(nsAString *aWidth); - nsresult SetWidth(const nsAString *aWidth); - nsresult GetContentDocument(nsIDOMDocument **aContentDocument); -- nsresult GetContentWindow(nsIDOMWindow **aContentWindow); - nsresult GetAllowFullscreen(bool *aAllowFullscreen); - nsresult SetAllowFullscreen(bool aAllowFullscreen); - } - - [ - object, -- uuid(60ab25b9-3246-4f50-b0d4-21e73ba88cd6), -+ uuid(012a8982-c9d3-4614-91e2-18ee51c97c06), - local - ] - interface nsIDOMHTMLFrameElement : nsISupports -@@ -2145,7 +2171,6 @@ interface nsIDOMHTMLFrameElement : nsISupports - nsresult GetSrc(nsAString *aSrc); - nsresult SetSrc(const nsAString *aSrc); - nsresult GetContentDocument(nsIDOMDocument **aContentDocument); -- nsresult GetContentWindow(nsIDOMWindow **aContentWindow); - } - - [ -@@ -2246,7 +2271,7 @@ interface nsITooltipListener : nsISupports - - [ - object, -- uuid(33e9d001-caab-4ba9-8961-54902f197202), -+ uuid(4052b6da-4faa-4646-b3a1-7e16a01c2dc2), - local - ] - interface nsIWebBrowser : nsISupports -@@ -2257,7 +2282,7 @@ interface nsIWebBrowser : nsISupports - nsresult SetContainerWindow(nsIWebBrowserChrome *aContainerWindow); - nsresult GetParentURIContentListener(nsIURIContentListener **aParentURIContentListener); - nsresult SetParentURIContentListener(nsIURIContentListener *aParentURIContentListener); -- nsresult GetContentDOMWindow(nsIDOMWindow **aContentDOMWindow); -+ nsresult GetContentDOMWindow(mozIDOMWindowProxy **aContentDOMWindow); - nsresult GetIsActive(bool *aIsActive); - nsresult SetIsActive(bool aIsActive); - } -@@ -2280,7 +2305,7 @@ typedef void* nativeWindow; - - [ - object, -- uuid(9da319f3-eee6-4504-81a5-6A19cf6215bf), -+ uuid(ca635529-a977-4552-9b8a-66187e54d882), - local - ] - interface nsIBaseWindow : nsISupports -@@ -2290,6 +2315,7 @@ interface nsIBaseWindow : nsISupports - nsresult Create(); - nsresult Destroy(); - nsresult SetPosition(int32_t x, int32_t y); -+ nsresult SetPositionDesktopPix(int32_t x, int32_t y); - nsresult GetPosition(int32_t *x, int32_t *y); - nsresult SetSize(int32_t cx, int32_t cy, bool fRepaint); - nsresult GetSize(int32_t *cx, int32_t *cy); -@@ -2307,6 +2333,7 @@ interface nsIBaseWindow : nsISupports - nsresult SetEnabled(bool aEnabled); - nsresult GetMainWidget(nsIWidget **aMainWidget); - nsresult GetUnscaledDevicePixelsPerCSSPixel(double *aUnscaledDevicePixelsPerCSSPixel); -+ nsresult GetDevicePixelsPerDesktopPixel(double *aDevicePixelsPerDesktopPixel); - nsresult SetFocus(); - nsresult GetTitle(PRUnichar **aTitle); - nsresult SetTitle(const PRUnichar *aTitle); -@@ -2358,14 +2385,14 @@ interface nsIWebNavigation : nsISupports - - [ - object, -- uuid(bd0efb3b-1c81-4fb0-b16d-576a2be48a95), -+ uuid(c4d64640-b332-4db6-a2a5-e08566000dc9), - local - ] - interface nsIWebProgress : nsISupports - { - nsresult AddProgressListener(nsIWebProgressListener *aListener, uint32_t aNotifyMask); - nsresult RemoveProgressListener(nsIWebProgressListener *aListener); -- nsresult GetDOMWindow(nsIDOMWindow **aDOMWindow); -+ nsresult GetDOMWindow(mozIDOMWindowProxy **aDOMWindow); - nsresult GetDOMWindowID(uint64_t *aDOMWindowID); - nsresult GetIsTopLevel(bool *aIsTopLevel); - nsresult GetIsLoadingDocument(bool *aIsLoadingDocument); -@@ -2374,7 +2401,7 @@ interface nsIWebProgress : nsISupports - - [ - object, -- uuid(04dd3a01-a74e-44aa-8d49-2c30478fd7b8), -+ uuid(ecc5cbad-57fc-4731-b0bd-09e865bd62ad), - local - ] - interface nsIPrintSettings : nsISupports -@@ -2458,8 +2485,6 @@ interface nsIPrintSettings : nsISupports - nsresult SetShowPrintProgress(bool aShowPrintProgress); - nsresult GetPaperName(PRUnichar **aPaperName); - nsresult SetPaperName(const PRUnichar *aPaperName); -- nsresult GetPaperSizeType(int16_t *aPaperSizeType); -- nsresult SetPaperSizeType(int16_t aPaperSizeType); - nsresult GetPaperData(int16_t *aPaperData); - nsresult SetPaperData(int16_t aPaperData); - nsresult GetPaperWidth(double *aPaperWidth); -@@ -2508,14 +2533,14 @@ interface nsIPrintSettings : nsISupports - - [ - object, -- uuid(9a7ca4b0-fbba-11d4-a869-00105a183419), -+ uuid(c9a934ed-fff1-4971-bfba-6c25ad70e1e6), - local - ] - interface nsIWebBrowserPrint : nsISupports - { - nsresult GetGlobalPrintSettings(nsIPrintSettings **aGlobalPrintSettings); - nsresult GetCurrentPrintSettings(nsIPrintSettings **aCurrentPrintSettings); -- nsresult GetCurrentChildDOMWindow(nsIDOMWindow **aCurrentChildDOMWindow); -+ nsresult GetCurrentChildDOMWindow(mozIDOMWindowProxy **aCurrentChildDOMWindow); - nsresult GetDoingPrint(bool *aDoingPrint); - nsresult GetDoingPrintPreview(bool *aDoingPrintPreview); - nsresult GetIsFramesetDocument(bool *aIsFramesetDocument); -@@ -2524,7 +2549,7 @@ interface nsIWebBrowserPrint : nsISupports - nsresult GetIsRangeSelection(bool *aIsRangeSelection); - nsresult GetPrintPreviewNumPages(int32_t *aPrintPreviewNumPages); - nsresult Print(nsIPrintSettings *aThePrintSettings, nsIWebProgressListener *aWPListener); -- nsresult PrintPreview(nsIPrintSettings *aThePrintSettings, nsIDOMWindow *aChildDOMWin, -+ nsresult PrintPreview(nsIPrintSettings *aThePrintSettings, mozIDOMWindowProxy *aChildDOMWin, - nsIWebProgressListener *aWPListener); - nsresult PrintPreviewNavigate(int16_t aNavType, int32_t aPageNum); - nsresult Cancel(); -@@ -2802,7 +2827,7 @@ interface nsIIOService : nsISupports - - [ - object, -- uuid(9c5d3c58-1dd1-11b2-a1c9-f3699284657a), -+ uuid(7f8c754e-5b36-44be-bc96-191b49f08ea6), - local - ] - interface nsIWebBrowserFocus : nsISupports -@@ -2811,8 +2836,8 @@ interface nsIWebBrowserFocus : nsISupports - nsresult Deactivate(); - nsresult SetFocusAtFirstElement(); - nsresult SetFocusAtLastElement(); -- nsresult GetFocusedWindow(nsIDOMWindow **aFocusedWindow); -- nsresult SetFocusedWindow(nsIDOMWindow *aFocusedWindow); -+ nsresult GetFocusedWindow(mozIDOMWindowProxy **aFocusedWindow); -+ nsresult SetFocusedWindow(mozIDOMWindowProxy *aFocusedWindow); - nsresult GetFocusedElement(nsIDOMElement **aFocusedElement); - nsresult SetFocusedElement(nsIDOMElement *aFocusedElement); - } -@@ -2864,7 +2889,7 @@ interface nsIDOMEventTarget : nsISupports - - [ - object, -- uuid(63857daf-c084-4ea6-a8b9-6812e3176991), -+ uuid(f58daacf-4d1a-4002-8fd7-06b614dfbcf6), - local - ] - interface nsIDOMEvent : nsISupports -@@ -2878,7 +2903,7 @@ interface nsIDOMEvent : nsISupports - nsresult GetTimeStamp(DOMTimeStamp *aTimeStamp); - nsresult StopPropagation(); - nsresult PreventDefault(); -- nsresult InitEvent(const nsAString *eventTypeArg, bool canBubbleArg, bool cancelableArg); -+ void /* thiscall */ InitEvent(const nsAString *eventTypeArg, bool canBubbleArg, bool cancelableArg); - nsresult GetDefaultPrevented(bool *aDefaultPrevented); - nsresult StopImmediatePropagation(); - nsresult GetOriginalTarget(nsIDOMEventTarget **aOriginalTarget); -@@ -2888,7 +2913,7 @@ interface nsIDOMEvent : nsISupports - nsresult DuplicatePrivateData(); - nsresult SetTarget(nsIDOMEventTarget *aTarget); - bool IsDispatchStopped(); -- /*nsEvent*/ void *GetInternalNSEvent(); -+ /*WidgedEvent*/ void *WidgetEventPtr(); - void SetTrusted(bool aTrusted); - void Serialize(/*IPC::Message*/ void *aMsg, bool aSerializeInterfaceType); - bool Deserialize(const /*IPC::Message*/ void *aMsg, void **aIter); -@@ -2899,7 +2924,7 @@ interface nsIDOMEvent : nsISupports - - [ - object, -- uuid(a30a95ac-3b95-4251-88dc-8efa89ba9f9c), -+ uuid(46b44e33-13c2-4eb3-bf80-76a4e0857ccc), - local - ] - interface nsIDOMWindowUtils : nsISupports -@@ -2952,6 +2977,7 @@ interface nsIDOMWindowUtils : nsISupports - const nsAString *aCharacters, const nsAString *aUnmodifiedCharacters, nsIObserver *aObserver); - nsresult SendNativeMouseEvent(int32_t aScreenX, int32_t aScreenY, int32_t aNativeMessage, int32_t aModifierFlags, - nsIDOMElement *aElement, nsIObserver *aObserver); -+ nsresult SendNativeMouseMove(int32_t aScreenX, int32_t aScreenY, nsIDOMElement *aElement, nsIObserver *aObserver); - nsresult SendNativeMouseScrollEvent(int32_t aScreenX, int32_t aScreenY, uint32_t aNativeMessage, double aDeltaX, - double aDeltaY, double aDeltaZ, uint32_t aModifierFlags, uint32_t aAdditionalFlags, nsIDOMElement *aElement, - nsIObserver *aObserver); -@@ -3010,7 +3036,7 @@ interface nsIDOMWindowUtils : nsISupports - nsresult ResumeTimeouts(); - nsresult GetLayerManagerType(nsAString *aLayerManagerType); - nsresult GetLayerManagerRemote(bool *aLayerManagerRemote); -- nsresult GetSupportsHardwareH264Decoding(nsAString *aSupportsHardwareH264Decoding); -+ nsresult GetSupportsHardwareH264Decoding(void /* JS::MutableHandleValue */ *aSupportsHardwareH264Decoding); - nsresult StartFrameTimeRecording(uint32_t *startIndex); - nsresult StopFrameTimeRecording(uint32_t startIndex, uint32_t *frameCount, float **frameIntervals); - nsresult BeginTabSwitch(); -@@ -3023,14 +3049,14 @@ interface nsIDOMWindowUtils : nsISupports - nsresult RestoreNormalRefresh(); - nsresult GetIsTestControllingRefreshes(bool *aIsTestControllingRefreshes); - nsresult GetAsyncPanZoomEnabled(bool *aAsyncPanZoomEnabled); -- nsresult SetAsyncScrollOffset(nsIDOMNode *aNode, int32_t aX, int32_t aY); -+ nsresult SetAsyncScrollOffset(nsIDOMNode *aNode, float aX, float aY); - nsresult SetAsyncZoom(nsIDOMNode *aRootElement, float aValue); - nsresult FlushApzRepaints(bool *_retval); -+ nsresult ZoomToFocusedInput(); - nsresult ComputeAnimationDistance(nsIDOMElement *element, const nsAString *property, const nsAString *value1, - const nsAString *value2, double *_retval); - nsresult WrapDOMFile(nsIFile *aFile, nsISupports **_retval); - nsresult GetFocusedInputType(char **aFocusedInputType); -- nsresult FindElementWithViewId(long /*nsViewID*/ aId, nsIDOMElement **_retval); - nsresult GetViewId(nsIDOMElement *aElement, long /*nsViewID*/ *_retval); - nsresult LeafLayersPartitionWindow(bool *_retval); - nsresult CheckAndClearPaintedState(nsIDOMElement *aElement, bool *_retval); -@@ -3111,15 +3137,15 @@ interface nsIContextMenuListener : nsISupports - - [ - object, -- uuid(d73852f8-7bd6-477d-8233-117dbf83860b), -+ uuid(85ae52eb-37fa-4fd9-a2e6-c7d0f2a521b3), - local - ] --interface nsIDOMUIEvent : nsIDOMEvent -+interface nsIDOMUIEvent : nsISupports - { -- nsresult GetView(nsIDOMWindow **aView); -+ nsresult GetView(mozIDOMWindowProxy **aView); - nsresult GetDetail(int32_t *aDetail); - nsresult InitUIEvent(const nsAString *typeArg, bool canBubbleArg, bool cancelableArg, -- nsIDOMWindow *viewArg, int32_t detailArg); -+ mozIDOMWindowProxy *viewArg, int32_t detailArg); - nsresult GetLayerX(int32_t *aLayerX); - nsresult GetLayerY(int32_t *aLayerY); - nsresult GetPageX(int32_t *aPageX); -@@ -3130,11 +3156,12 @@ interface nsIDOMUIEvent : nsIDOMEvent - nsresult GetCancelBubble(bool *aCancelBubble); - nsresult SetCancelBubble(bool aCancelBubble); - nsresult GetIsChar(bool *aIsChar); -+ void* /* mozilla::dom::Event thiscall */ AsEvent(); - } - - [ - object, -- uuid(df068636-9a5b-11e3-b71f-2c27d728e7f9), -+ uuid(5bdab8d8-7933-4c5c-b6d1-ab34481237f7), - local - ] - interface nsIDOMMouseEvent : nsIDOMUIEvent -@@ -3153,23 +3180,17 @@ interface nsIDOMMouseEvent : nsIDOMUIEvent - nsresult GetButtons(uint16_t *aButtons); - nsresult GetRelatedTarget(nsIDOMEventTarget **aRelatedTarget); - nsresult InitMouseEvent(const nsAString *typeArg, bool canBubbleArg, bool cancelableArg, -- nsIDOMWindow *viewArg, int32_t detailArg, int32_t screenXArg, int32_t screenYArg, -- int32_t clientXArg, int32_t clientYArg, bool ctrlKeyArg, bool altKeyArg, -- bool shiftKeyArg, bool metaKeyArg, uint16_t buttonArg, -- nsIDOMEventTarget *relatedTargetArg); -+ mozIDOMWindow *viewArg, int32_t detailArg, int32_t screenXArg, int32_t screenYArg, -+ int32_t clientXArg, int32_t clientYArg, bool ctrlKeyArg, bool altKeyArg, bool shiftKeyArg, -+ bool metaKeyArg, uint16_t buttonArg, nsIDOMEventTarget *relatedTargetArg); - nsresult GetMozPressure(float *aMozPressure); - nsresult GetMozInputSource(uint16_t *aMozInputSource); -- nsresult InitNSMouseEvent(const nsAString *typeArg, bool canBubbleArg, bool cancelableArg, -- nsIDOMWindow *viewArg, int32_t detailArg, int32_t screenXArg, int32_t screenYArg, -- int32_t clientXArg, int32_t clientYArg, bool ctrlKeyArg, bool altKeyArg, bool shiftKeyArg, -- bool metaKeyArg, uint16_t buttonArg, nsIDOMEventTarget *relatedTargetArg, float pressure, -- uint16_t inputSourceArg); - nsresult GetModifierState(const nsAString *keyArg, bool *_retval); - } - - [ - object, -- uuid(d2b3e35f-8627-4732-a92d-cda54c8f8054), -+ uuid(2e52eb99-670d-469a-b51f-8efee2dd091d), - local - ] - interface nsIDOMKeyEvent : nsIDOMUIEvent -@@ -3181,7 +3202,7 @@ interface nsIDOMKeyEvent : nsIDOMUIEvent - nsresult GetShiftKey(bool *aShiftKey); - nsresult GetMetaKey(bool *aMetaKey); - nsresult InitKeyEvent(const nsAString *typeArg, bool canBubbleArg, -- bool cancelableArg, nsIDOMWindow *viewArg, bool ctrlKeyArg, -+ bool cancelableArg, mozIDOMWindowProxy *viewArg, bool ctrlKeyArg, - bool altKeyArg, bool shiftKeyArg, bool metaKeyArg, uint32_t keyCodeArg, - uint32_t charCodeArg); - nsresult GetModifierState(const nsAString *keyArg, bool *_retval); -@@ -3234,34 +3255,34 @@ interface nsIComponentRegistrar : nsISupports - - [ - object, -- uuid(1630c61a-325e-49ca-8759-a31b16c47aa5), -+ uuid(404ebfa2-d8f4-4c94-8416-e65a55f9df5a), - local - ] - interface nsIPromptService : nsISupports - { -- nsresult Alert(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult Alert(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText); -- nsresult AlertCheck(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult AlertCheck(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, const PRUnichar *aCheckMsg, bool *aCheckState); -- nsresult Confirm(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult Confirm(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, bool *_retval); -- nsresult ConfirmCheck(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult ConfirmCheck(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, const PRUnichar *aCheckMsg, bool *aCheckState, - bool *_retval); -- nsresult ConfirmEx(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult ConfirmEx(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, uint32_t aButtonFlags, const PRUnichar *aButton0Title, - const PRUnichar *aButton1Title, const PRUnichar *aButton2Title, - const PRUnichar *aCheckMsg, bool *aCheckState, int32_t *_retval); -- nsresult Prompt(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult Prompt(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, PRUnichar **aValue, const PRUnichar *aCheckMsg, - bool *aCheckState, bool *_retval); -- nsresult PromptUsernameAndPassword(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult PromptUsernameAndPassword(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, PRUnichar **aUsername, PRUnichar **aPassword, - const PRUnichar *aCheckMsg, bool *aCheckState, bool *_retval); -- nsresult PromptPassword(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult PromptPassword(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, PRUnichar **aPassword, const PRUnichar *aCheckMsg, - bool *aCheckState, bool *_retval); -- nsresult Select(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ nsresult Select(mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, uint32_t aCount, const PRUnichar **aSelectList, - int32_t *aOutSelection, bool *_retval); - } -@@ -3278,23 +3299,23 @@ interface nsITooltipTextProvider : nsISupports - - [ - object, -- uuid(24f3f4da-18a4-448d-876d-7360fefac029), -+ uuid(24f963d1-e6fc-43ea-a206-99ac5fcc5265), - local - ] - interface nsIEditingSession : nsISupports - { - nsresult GetEditorStatus(uint32_t *aEditorStatus); -- nsresult MakeWindowEditable(nsIDOMWindow *window, const char *aEditorType, -+ nsresult MakeWindowEditable(mozIDOMWindowProxy *window, const char *aEditorType, - bool doAfterUriLoad, bool aMakeWholeDocumentEditable, bool aInteractive); -- nsresult WindowIsEditable(nsIDOMWindow *window, bool *_retval); -- nsresult GetEditorForWindow(nsIDOMWindow *window, nsIEditor **_retval); -- nsresult SetupEditorOnWindow(nsIDOMWindow *window); -- nsresult TearDownEditorOnWindow(nsIDOMWindow *window); -- nsresult SetEditorOnControllers(nsIDOMWindow *aWindow, nsIEditor *aEditor); -- nsresult DisableJSAndPlugins(nsIDOMWindow *aWindow); -- nsresult RestoreJSAndPlugins(nsIDOMWindow *aWindow); -- nsresult DetachFromWindow(nsIDOMWindow *aWindow); -- nsresult ReattachToWindow(nsIDOMWindow *aWindow); -+ nsresult WindowIsEditable(mozIDOMWindowProxy *window, bool *_retval); -+ nsresult GetEditorForWindow(mozIDOMWindowProxy *window, nsIEditor **_retval); -+ nsresult SetupEditorOnWindow(mozIDOMWindowProxy *window); -+ nsresult TearDownEditorOnWindow(mozIDOMWindowProxy *window); -+ nsresult SetEditorOnControllers(mozIDOMWindowProxy *aWindow, nsIEditor *aEditor); -+ nsresult DisableJSAndPlugins(mozIDOMWindowProxy *aWindow); -+ nsresult RestoreJSAndPlugins(mozIDOMWindowProxy *aWindow); -+ nsresult DetachFromWindow(mozIDOMWindowProxy *aWindow); -+ nsresult ReattachToWindow(mozIDOMWindowProxy *aWindow); - nsresult GetJsAndPluginsDisabled(bool *aJsAndPluginsDisabled); - } - -@@ -3323,19 +3344,19 @@ interface nsICommandParams : nsISupports - - [ - object, -- uuid(080d2001-f91e-11d4-a73c-f9242928207c), -+ uuid(bb5a1730-d83b-4fa2-831b-35b9d5842e84), - local - ] - interface nsICommandManager : nsISupports - { - nsresult AddCommandObserver(nsIObserver *aCommandObserver, const char *aCommandToObserve); - nsresult RemoveCommandObserver(nsIObserver *aCommandObserver, const char *aCommandObserved); -- nsresult IsCommandSupported(const char *aCommandName, nsIDOMWindow *aTargetWindow, bool *_retval); -- nsresult IsCommandEnabled(const char *aCommandName, nsIDOMWindow *aTargetWindow, bool *_retval); -- nsresult GetCommandState(const char *aCommandName, nsIDOMWindow *aTargetWindow, -+ nsresult IsCommandSupported(const char *aCommandName, mozIDOMWindowProxy *aTargetWindow, bool *_retval); -+ nsresult IsCommandEnabled(const char *aCommandName, mozIDOMWindowProxy *aTargetWindow, bool *_retval); -+ nsresult GetCommandState(const char *aCommandName, mozIDOMWindowProxy *aTargetWindow, - nsICommandParams *aCommandParams); - nsresult DoCommand(const char *aCommandName, nsICommandParams *aCommandParams, -- nsIDOMWindow *aTargetWindow); -+ mozIDOMWindowProxy *aTargetWindow); - } - - [ -@@ -3390,7 +3411,7 @@ interface nsIContent : nsISupports - - [ - object, -- uuid(5f51e18c-9e0e-4dc0-9f08-7a326552ea11), -+ uuid(ce1f7627-7109-4977-ba77-490ffde07aaa), - local - ] - interface nsIDocument : nsISupports -@@ -3602,7 +3623,7 @@ interface nsIClipboardCommands : nsISupports - - [ - object, -- uuid(edb99640-8378-4106-8673-e701a086eb1c), -+ uuid(9b7c586f-9214-480c-a2c4-49b526fff1a6), - local - ] - interface nsIDocShellTreeItem : nsISupports -@@ -3628,12 +3649,12 @@ interface nsIDocShellTreeItem : nsISupports - nsresult FindChildWithName(const PRUnichar *aName, bool aRecurse, bool aSameType, nsIDocShellTreeItem *aRequestor, - nsIDocShellTreeItem *aOriginalRequestor, nsIDocShellTreeItem **_retval); - nsIDocument /* thiscall */ *GetDocument(); -- void /* thiscall nsPIDOMWindow */ *GetWindow(); -+ void /* thiscall nsPIDOMWindowOuter */ *GetWindow(); - } - - [ - object, -- uuid(702e0a92-7d63-490e-b5ee-d247e6bd4588), -+ uuid(2da17016-7851-4a45-a7a8-00b360e01595), - local - ] - interface nsIContentViewer : nsISupports -@@ -3643,11 +3664,10 @@ interface nsIContentViewer : nsISupports - nsresult SetContainer(nsIDocShell *aContainer); - void /* thiscall */ LoadStart(nsIDocument *aDoc); - nsresult LoadComplete(nsresult aStatus); -- nsresult PermitUnload(bool aCallerClosesWindow, bool *_retval); -+ nsresult PermitUnload(bool *_retval); - nsresult GetInPermitUnload(bool *aInPermitUnload); -- nsresult /* thiscall */ PermitUnloadInternal(bool aCallerClosesWindow, bool *aShouldPrompt, bool *_retval); -+ nsresult /* thiscall */ PermitUnloadInternal(bool *aShouldPrompt, bool *_retval); - nsresult GetBeforeUnloadFiring(bool *aBeforeUnloadFiring); -- nsresult ResetCloseWindow(); - nsresult PageHide(bool isUnload); - nsresult Close(nsISHEntry *historyEntry); - nsresult Destroy(); -@@ -3694,7 +3714,6 @@ interface nsIContentViewer : nsISupports - nsresult GetMinFontSize(int32_t *aMinFontSize); - nsresult SetMinFontSize(int32_t aMinFontSize); - nsresult AppendSubtree(void /*nsTArray >*/ *array); -- nsresult ChangeMaxLineBoxWidth(int32_t maxLineBoxWidth); - nsresult PausePainting(); - nsresult ResumePainting(); - nsresult EmulateMedium(const nsAString *aMediaType); -@@ -3748,7 +3767,7 @@ interface nsIDocShellLoadInfo : nsISupports - - [ - object, -- uuid(44aca825-0080-49f1-8407-df62183e5ec1), -+ uuid(049234fe-da10-478b-bc5d-bc6f9a1ba63d), - local - ] - interface nsIDocShell : nsIDocShellTreeItem -@@ -3773,6 +3792,8 @@ interface nsIDocShell : nsIDocShellTreeItem - nsresult GetContentViewer(nsIContentViewer **aContentViewer); - nsresult GetChromeEventHandler(nsIDOMEventTarget **aChromeEventHandler); - nsresult SetChromeEventHandler(nsIDOMEventTarget *aChromeEventHandler); -+ nsresult GetCustomUserAgent(nsAString *aCustomUserAgent); -+ nsresult SetCustomUserAgent(const nsAString *aCustomUserAgent); - nsresult GetAllowPlugins(bool *aAllowPlugins); - nsresult SetAllowPlugins(bool aAllowPlugins); - nsresult GetAllowJavascript(bool *aAllowJavascript); -@@ -3826,7 +3847,7 @@ interface nsIDocShell : nsIDocShellTreeItem - nsresult GetRestoringDocument(bool *aRestoringDocument); - nsresult GetUseErrorPages(bool *aUseErrorPages); - nsresult SetUseErrorPages(bool aUseErrorPages); -- nsresult DisplayLoadError(nsresult aError, nsIURI *aURI, const PRUnichar *aURL, nsIChannel *aFailedChannel, bool *_retval); -+ nsresult DisplayLoadError(nsresult aError, nsIURI *aURI, const char16_t *aURL, nsIChannel *aFailedChannel, bool *_retval); - nsresult GetFailedChannel(nsIChannel **aFailedChannel); - nsresult GetPreviousTransIndex(int32_t *aPreviousTransIndex); - nsresult GetLoadedTransIndex(int32_t *aLoadedTransIndex); -@@ -3851,6 +3872,7 @@ interface nsIDocShell : nsIDocShellTreeItem - nsresult GetCanExecuteScripts(bool *aCanExecuteScripts); - nsresult GetIsActive(bool *aIsActive); - nsresult SetIsActive(bool aIsActive); -+ nsresult SetIsActiveAndForeground(bool aIsActive); - nsresult SetIsPrerendered(bool prerendered); - nsresult GetIsPrerendered(bool *aIsPrerendered); - nsresult GetHistoryID(uint64_t *aHistoryID); -@@ -3875,13 +3897,14 @@ interface nsIDocShell : nsIDocShellTreeItem - nsresult AddWeakScrollObserver(void /*nsIScrollObserver*/ *obs); - nsresult RemoveWeakScrollObserver(void /*nsIScrollObserver*/ *obs); - nsresult NotifyScrollObservers(); -- nsresult GetIsBrowserElement(bool *aIsBrowserElement); - nsresult GetIsApp(bool *aIsApp); -- nsresult GetIsBrowserOrApp(bool *aIsBrowserOrApp); -- nsresult GetIsInBrowserElement(bool *aIsInBrowserElement); -- nsresult GetIsInBrowserOrApp(bool *aIsInBrowserOrApp); -- nsresult SetIsApp(uint32_t ownAppId); -- nsresult SetIsBrowserInsideApp(uint32_t containingAppId); -+ nsresult GetFrameType(uint32_t *aFrameType); -+ nsresult SetFrameType(uint32_t aFrameType); -+ nsresult GetIsMozBrowserOrApp(bool *aIsMozBrowserOrApp); -+ nsresult GetIsIsolatedMozBrowserElement(bool *aIsIsolatedMozBrowserElement); -+ nsresult GetIsInIsolatedMozBrowserElement(bool *aIsInIsolatedMozBrowserElement); -+ nsresult SetIsInIsolatedMozBrowserElement(bool aIsInIsolatedMozBrowserElement); -+ nsresult GetIsInMozBrowserOrApp(bool *aIsInMozBrowserOrApp); - nsresult GetAppId(uint32_t *aAppId); - nsresult GetAppManifestURL(nsAString *aAppManifestURL); - nsresult GetSameTypeParentIgnoreBrowserAndAppBoundaries(nsIDocShell **_retval); -@@ -3920,7 +3943,7 @@ interface nsIDocShell : nsIDocShellTreeItem - nsresult DoCommand(const char *command); - bool IsInvisible(); - void SetInvisible(bool aIsInvisibleDochsell); -- void /*nsIScriptGlobalObject*/ *GetScriptGlobalObject(); -+ void /* nsIScriptGlobalObject thiscall */ *GetScriptGlobalObject(); - nsresult GetDeviceSizeIsPageSize(bool *aDeviceSizeIsPageSize); - nsresult SetDeviceSizeIsPageSize(bool aDeviceSizeIsPageSize); - void /* thiscall */ SetOpener(void /*nsITabParent*/ *aOpener); -@@ -3933,6 +3956,10 @@ interface nsIDocShell : nsIDocShellTreeItem - nsresult SetPaymentRequestId(const nsAString *aPaymentRequestId); - nsresult GetWindowDraggingAllowed(bool *aWindowDraggingAllowed); - nsresult SetWindowDraggingAllowed(bool aWindowDraggingAllowed); -+ nsresult GetCurrentScrollRestorationIsManual(bool *aCurrentScrollRestorationIsManual); -+ nsresult SetCurrentScrollRestorationIsManual(bool aCurrentScrollRestorationIsManual); -+ nsresult GetOriginAttributes(JSContext* cx, void* /* JS::MutableHandleValue */ _retval); -+ nsresult SetOriginAttributes(int /* JS::HandleValue */ aAttrs, JSContext *cx); - } - - [ -@@ -4010,7 +4037,7 @@ interface nsIParser : nsISupports - - [ - object, -- uuid(900bc4bc-8b6c-4cba-82fa-568a80fffd3e), -+ uuid(71041fa3-6dd7-4cde-bb76-aecc69e17578), - local - ] - interface nsIDocumentObserver : nsIMutationObserver -@@ -4018,6 +4045,10 @@ interface nsIDocumentObserver : nsIMutationObserver - typedef uint32_t nsUpdateType; - - typedef struct { -+ void *dummy; -+ } mozilla_StyleSheetHandle; -+ -+ typedef struct { - uint64_t mStates; - } EventStates; - -@@ -4027,14 +4058,12 @@ interface nsIDocumentObserver : nsIMutationObserver - void EndLoad(nsIDocument *aDocument); - void ContentStatesChanged(nsIDocument *aDocument, nsIContent *aContent, EventStates aStateMask); - void DocumentStatesChanged(nsIDocument *aDocument, EventStates aStateMask); -- void StyleSheetAdded(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, bool aDocumentSheet); -- void StyleSheetRemoved(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, bool aDocumentSheet); -- void StyleSheetApplicableStateChanged(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, -- bool aApplicable); -- void StyleRuleChanged(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aOldStyleRule, -- nsIStyleRule *aNewStyleRule); -- void StyleRuleAdded(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule); -- void StyleRuleRemoved(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule); -+ void StyleSheetAdded(mozilla_StyleSheetHandle aStyleSheet, bool aDocumentSheet); -+ void StyleSheetRemoved(mozilla_StyleSheetHandle aStyleSheet, bool aDocumentSheet); -+ void StyleSheetApplicableStateChanged(mozilla_StyleSheetHandle aStyleSheet); -+ void StyleRuleChanged(mozilla_StyleSheetHandle aStyleSheet); -+ void StyleRuleAdded(mozilla_StyleSheetHandle aStyleSheet); -+ void StyleRuleRemoved(mozilla_StyleSheetHandle aStyleSheet); - void BindToDocument(nsIDocument *aDocument, nsIContent *aContent); - void AttemptToExecuteScript(nsIContent *aContent, nsIParser *aParser, bool *aBlock); - } -@@ -4057,13 +4086,13 @@ interface nsIContentUtils : nsISupports - - [ - object, -- uuid(5fe83b24-38b9-4901-a4a1-d1bd57d3fe18), -+ uuid(15c05894-408e-4798-b527-a8c32d9c5f8c), - local - ] - interface nsIAudioChannelAgentCallback : nsISupports - { - nsresult WindowVolumeChanged(float aVolume, bool aMuted); -- nsresult WindowAudioCaptureChanged(); -+ nsresult WindowAudioCaptureChanged(bool aCapture); - } - - [ -diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c -index dac9798..711cca0 100644 ---- a/dlls/mshtml/nsio.c -+++ b/dlls/mshtml/nsio.c -@@ -955,7 +955,7 @@ static HTMLOuterWindow *get_window_from_load_group(nsChannel *This) - static HTMLOuterWindow *get_channel_window(nsChannel *This) - { - nsIWebProgress *web_progress; -- nsIDOMWindow *nswindow; -+ mozIDOMWindowProxy *mozwindow; - HTMLOuterWindow *window; - nsresult nsres; - -@@ -985,20 +985,20 @@ static HTMLOuterWindow *get_channel_window(nsChannel *This) - return NULL; - } - -- nsres = nsIWebProgress_GetDOMWindow(web_progress, &nswindow); -+ nsres = nsIWebProgress_GetDOMWindow(web_progress, &mozwindow); - nsIWebProgress_Release(web_progress); -- if(NS_FAILED(nsres) || !nswindow) { -+ if(NS_FAILED(nsres) || !mozwindow) { - ERR("GetDOMWindow failed: %08x\n", nsres); - return NULL; - } - -- window = nswindow_to_window(nswindow); -- nsIDOMWindow_Release(nswindow); -+ window = mozwindow_to_window(mozwindow); -+ mozIDOMWindowProxy_Release(mozwindow); - - if(window) - IHTMLWindow2_AddRef(&window->base.IHTMLWindow2_iface); - else -- FIXME("NULL window for %p\n", nswindow); -+ FIXME("NULL window for %p\n", mozwindow); - return window; - } - -@@ -1310,6 +1310,34 @@ static nsresult NSAPI nsChannel_SetReferrerWithPolicy(nsIHttpChannel *iface, nsI - return NS_ERROR_NOT_IMPLEMENTED; - } - -+static nsresult NSAPI nsHttpChannel_GetProtocolVersion(nsIHttpChannel *iface, nsACString *aProtocolVersion) -+{ -+ nsChannel *This = impl_from_nsIHttpChannel(iface); -+ FIXME("(%p)->(%p)\n", This, aProtocolVersion); -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -+static nsresult NSAPI nsHttpChannel_GetTransferSize(nsIHttpChannel *iface, UINT64 *aTransferSize) -+{ -+ nsChannel *This = impl_from_nsIHttpChannel(iface); -+ FIXME("(%p)->(%p)\n", This, aTransferSize); -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -+static nsresult NSAPI nsHttpChannel_GetDecodedBodySize(nsIHttpChannel *iface, UINT64 *aDecodedBodySize) -+{ -+ nsChannel *This = impl_from_nsIHttpChannel(iface); -+ FIXME("(%p)->(%p)\n", This, aDecodedBodySize); -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -+static nsresult NSAPI nsHttpChannel_GetEncodedBodySize(nsIHttpChannel *iface, UINT64 *aEncodedBodySize) -+{ -+ nsChannel *This = impl_from_nsIHttpChannel(iface); -+ FIXME("(%p)->(%p)\n", This, aEncodedBodySize); -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -+ - static nsresult NSAPI nsChannel_GetRequestHeader(nsIHttpChannel *iface, - const nsACString *aHeader, nsACString *_retval) - { -@@ -1525,11 +1553,11 @@ static nsresult NSAPI nsChannel_IsPrivateResponse(nsIHttpChannel *iface, cpp_boo - return NS_ERROR_NOT_IMPLEMENTED; - } - --static nsresult NSAPI nsChannel_RedirectTo(nsIHttpChannel *iface, nsIURI *aNewURI) -+static nsresult NSAPI nsChannel_RedirectTo(nsIHttpChannel *iface, nsIURI *aTargetURI) - { - nsChannel *This = impl_from_nsIHttpChannel(iface); - -- FIXME("(%p)->(%p)\n", This, aNewURI); -+ FIXME("(%p)->(%p)\n", This, aTargetURI); - - return NS_ERROR_NOT_IMPLEMENTED; - } -@@ -1597,6 +1625,10 @@ static const nsIHttpChannelVtbl nsChannelVtbl = { - nsChannel_SetReferrer, - nsChannel_GetReferrerPolicy, - nsChannel_SetReferrerWithPolicy, -+ nsHttpChannel_GetProtocolVersion, -+ nsHttpChannel_GetTransferSize, -+ nsHttpChannel_GetDecodedBodySize, -+ nsHttpChannel_GetEncodedBodySize, - nsChannel_GetRequestHeader, - nsChannel_SetRequestHeader, - nsChannel_SetEmptyRequestHeader, -@@ -2074,10 +2106,24 @@ static nsresult NSAPI nsHttpChannelInternal_GetProxyURI(nsIHttpChannelInternal * - } - - static nsresult NSAPI nsHttpChannelInternal_SetCorsPreflightParameters(nsIHttpChannelInternal *iface, -- const void /*nsTArray*/ *unsafeHeaders, cpp_bool withCredentials, nsIPrincipal *preflightPrincipal) -+ const void /*nsTArray*/ *unsafeHeaders) - { - nsChannel *This = impl_from_nsIHttpChannelInternal(iface); -- FIXME("(%p %p %x %p)\n", This, unsafeHeaders, withCredentials, preflightPrincipal); -+ FIXME("(%p)->(%p)\n", This, unsafeHeaders); -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -+static nsresult NSAPI nsHttpChannelInternal_GetBlockAuthPrompt(nsIHttpChannelInternal *iface, cpp_bool *aBlockAuthPrompt) -+{ -+ nsChannel *This = impl_from_nsIHttpChannelInternal(iface); -+ FIXME("(%p)->(%p)\n", This, aBlockAuthPrompt); -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -+ -+static nsresult NSAPI nsHttpChannelInternal_SetBlockAuthPrompt(nsIHttpChannelInternal *iface, cpp_bool aBlockAuthPrompt) -+{ -+ nsChannel *This = impl_from_nsIHttpChannelInternal(iface); -+ FIXME("(%p)->(%x)\n", This, aBlockAuthPrompt); - return NS_ERROR_NOT_IMPLEMENTED; - } - -@@ -2127,7 +2173,9 @@ static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = { - nsHttpChannelInternal_GetNetworkInterfaceId, - nsHttpChannelInternal_SetNetworkInterfaceId, - nsHttpChannelInternal_GetProxyURI, -- nsHttpChannelInternal_SetCorsPreflightParameters -+ nsHttpChannelInternal_SetCorsPreflightParameters, -+ nsHttpChannelInternal_GetBlockAuthPrompt, -+ nsHttpChannelInternal_SetBlockAuthPrompt - }; - - -@@ -3315,13 +3363,21 @@ static nsresult NSAPI nsStandardURL_Init(nsIStandardURL *iface, UINT32 aUrlType, - return NS_ERROR_NOT_IMPLEMENTED; - } - -+static nsresult NSAPI nsStandardURL_SetDefaultPort(nsIStandardURL *iface, LONG aNewDefaultPort) -+{ -+ nsWineURI *This = impl_from_nsIStandardURL(iface); -+ FIXME("(%p)->(%d)\n", This, aNewDefaultPort); -+ return NS_ERROR_NOT_IMPLEMENTED; -+} -+ - static const nsIStandardURLVtbl nsStandardURLVtbl = { - nsStandardURL_QueryInterface, - nsStandardURL_AddRef, - nsStandardURL_Release, - nsStandardURL_GetMutable, - nsStandardURL_SetMutable, -- nsStandardURL_Init -+ nsStandardURL_Init, -+ nsStandardURL_SetDefaultPort - }; - - static nsresult create_nsuri(IUri *iuri, HTMLOuterWindow *window, NSContainer *container, -diff --git a/dlls/mshtml/nsservice.c b/dlls/mshtml/nsservice.c -index 6d34f3f..67aec2d 100644 ---- a/dlls/mshtml/nsservice.c -+++ b/dlls/mshtml/nsservice.c -@@ -74,7 +74,7 @@ static nsrefcnt NSAPI nsPromptService_Release(nsIPromptService *iface) - return 1; - } - --static nsresult NSAPI nsPromptService_Alert(nsIPromptService *iface, nsIDOMWindow *aParent, -+static nsresult NSAPI nsPromptService_Alert(nsIPromptService *iface, mozIDOMWindowProxy *aParent, - const PRUnichar *aDialogTitle, const PRUnichar *aText) - { - HTMLOuterWindow *window; -@@ -82,9 +82,9 @@ static nsresult NSAPI nsPromptService_Alert(nsIPromptService *iface, nsIDOMWindo - - TRACE("(%p %s %s)\n", aParent, debugstr_w(aDialogTitle), debugstr_w(aText)); - -- window = nswindow_to_window(aParent); -+ window = mozwindow_to_window(aParent); - if(!window) { -- WARN("Could not find HTMLWindow for nsIDOMWindow %p\n", aParent); -+ WARN("Could not find HTMLWindow for mozIDOMWindowProxy %p\n", aParent); - return NS_ERROR_UNEXPECTED; - } - -@@ -96,7 +96,7 @@ static nsresult NSAPI nsPromptService_Alert(nsIPromptService *iface, nsIDOMWindo - } - - static nsresult NSAPI nsPromptService_AlertCheck(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, const PRUnichar *aCheckMsg, cpp_bool *aCheckState) - { - FIXME("(%p %s %s %s %p)\n", aParent, debugstr_w(aDialogTitle), debugstr_w(aText), -@@ -105,7 +105,7 @@ static nsresult NSAPI nsPromptService_AlertCheck(nsIPromptService *iface, - } - - static nsresult NSAPI nsPromptService_Confirm(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, const PRUnichar *aText, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, const PRUnichar *aText, - cpp_bool *_retval) - { - FIXME("(%p %s %s %p)\n", aParent, debugstr_w(aDialogTitle), debugstr_w(aText), _retval); -@@ -113,7 +113,7 @@ static nsresult NSAPI nsPromptService_Confirm(nsIPromptService *iface, - } - - static nsresult NSAPI nsPromptService_ConfirmCheck(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, const PRUnichar *aCheckMsg, cpp_bool *aCheckState, - cpp_bool *_retval) - { -@@ -123,7 +123,7 @@ static nsresult NSAPI nsPromptService_ConfirmCheck(nsIPromptService *iface, - } - - static nsresult NSAPI nsPromptService_ConfirmEx(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, UINT32 aButtonFlags, const PRUnichar *aButton0Title, - const PRUnichar *aButton1Title, const PRUnichar *aButton2Title, - const PRUnichar *aCheckMsg, cpp_bool *aCheckState, LONG *_retval) -@@ -153,7 +153,7 @@ static nsresult NSAPI nsPromptService_ConfirmEx(nsIPromptService *iface, - } - - static nsresult NSAPI nsPromptService_Prompt(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, PRUnichar **aValue, const PRUnichar *aCheckMsg, - cpp_bool *aCheckState, cpp_bool *_retval) - { -@@ -163,7 +163,7 @@ static nsresult NSAPI nsPromptService_Prompt(nsIPromptService *iface, - } - - static nsresult NSAPI nsPromptService_PromptUsernameAndPassword(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, PRUnichar **aUsername, PRUnichar **aPassword, - const PRUnichar *aCheckMsg, cpp_bool *aCheckState, cpp_bool *_retval) - { -@@ -174,7 +174,7 @@ static nsresult NSAPI nsPromptService_PromptUsernameAndPassword(nsIPromptService - } - - static nsresult NSAPI nsPromptService_PromptPassword(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, PRUnichar **aPassword, const PRUnichar *aCheckMsg, - cpp_bool *aCheckState, cpp_bool *_retval) - { -@@ -184,7 +184,7 @@ static nsresult NSAPI nsPromptService_PromptPassword(nsIPromptService *iface, - } - - static nsresult NSAPI nsPromptService_Select(nsIPromptService *iface, -- nsIDOMWindow *aParent, const PRUnichar *aDialogTitle, -+ mozIDOMWindowProxy *aParent, const PRUnichar *aDialogTitle, - const PRUnichar *aText, UINT32 aCount, const PRUnichar **aSelectList, - LONG *aOutSelection, cpp_bool *_retval) - { -diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c -index fc2a6ac..93dab71 100644 ---- a/dlls/mshtml/olecmd.c -+++ b/dlls/mshtml/olecmd.c -@@ -56,7 +56,7 @@ void do_ns_command(HTMLDocument *This, const char *cmd, nsICommandParams *nspara - return; - } - -- nsres = nsICommandManager_DoCommand(cmdmgr, cmd, nsparam, This->window->nswindow); -+ nsres = nsICommandManager_DoCommand(cmdmgr, cmd, nsparam, This->window->window_proxy); - if(NS_FAILED(nsres)) - ERR("DoCommand(%s) failed: %08x\n", debugstr_a(cmd), nsres); - --- -2.8.0 - diff --git a/patches/mshtml-Wine_Gecko_2.47/definition b/patches/mshtml-Wine_Gecko_2.47/definition deleted file mode 100644 index bd6901db..00000000 --- a/patches/mshtml-Wine_Gecko_2.47/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Update Wine Gecko to version 2.47-beta1 diff --git a/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch b/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch index e80d82df..cd77fddf 100644 --- a/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch +++ b/patches/ntoskrnl-DriverTest/0001-ntoskrnl.exe-tests-Add-initial-driver-testing-framew.patch @@ -79,7 +79,7 @@ index bb390e2..d766249 100644 @@ -3216,6 +3216,8 @@ WINE_CONFIG_TEST(dlls/ntdll/tests) WINE_CONFIG_DLL(ntdsapi,,[implib]) WINE_CONFIG_TEST(dlls/ntdsapi/tests) - WINE_CONFIG_DLL(ntoskrnl.exe,,[implib]) + WINE_CONFIG_DLL(ntoskrnl.exe,,[implib],[ntoskrnl]) +WINE_CONFIG_TEST(dlls/ntoskrnl.exe/tests) +WINE_CONFIG_RESOURCE(dlls/ntoskrnl.exe/tests/driver.sys) WINE_CONFIG_DLL(ntprint) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 161504f8..c1ae9136 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,13 +51,13 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "50917e283629cbe994f2d7f091ed46ac8b25cda6" + echo "849163b1ed5e2586ee9f391e7a8b03f054bb620f" } # Show version information version() { - echo "Wine Staging 1.9.12" + echo "Wine Staging 1.9.13 (unreleased)" echo "Copyright (C) 2014-2016 the Wine Staging project authors." echo "" echo "Patchset to be applied on upstream Wine:" @@ -193,7 +193,6 @@ patch_enable_all () enable_mpr_WNetGetUniversalNameW="$1" enable_mscoree_CorValidateImage="$1" enable_mshtml_HTMLLocation_put_hash="$1" - enable_mshtml_Wine_Gecko_2_47="$1" enable_msidb_Implementation="$1" enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$1" enable_msvcrt_Math_Precision="$1" @@ -762,9 +761,6 @@ patch_enable () mshtml-HTMLLocation_put_hash) enable_mshtml_HTMLLocation_put_hash="$2" ;; - mshtml-Wine_Gecko_2.47) - enable_mshtml_Wine_Gecko_2_47="$2" - ;; msidb-Implementation) enable_msidb_Implementation="$2" ;; @@ -4577,21 +4573,6 @@ if test "$enable_mshtml_HTMLLocation_put_hash" -eq 1; then ) >> "$patchlist" fi -# Patchset mshtml-Wine_Gecko_2.47 -# | -# | Modified files: -# | * dlls/appwiz.cpl/addons.c, dlls/mshtml/editor.c, dlls/mshtml/htmlcurstyle.c, dlls/mshtml/htmldoc.c, -# | dlls/mshtml/htmlframebase.c, dlls/mshtml/htmlwindow.c, dlls/mshtml/mshtml_private.h, dlls/mshtml/mutation.c, -# | dlls/mshtml/npplugin.c, dlls/mshtml/nsembed.c, dlls/mshtml/nsiface.idl, dlls/mshtml/nsio.c, dlls/mshtml/nsservice.c, -# | dlls/mshtml/olecmd.c -# | -if test "$enable_mshtml_Wine_Gecko_2_47" -eq 1; then - patch_apply mshtml-Wine_Gecko_2.47/0001-mshtml-Wine-Gecko-2.47-beta1-release.patch - ( - echo '+ { "Jacek Caban", "mshtml: Wine Gecko 2.47-beta1 release.", 1 },'; - ) >> "$patchlist" -fi - # Patchset msidb-Implementation # | # | Modified files: diff --git a/staging/VERSION b/staging/VERSION index 9b1f92f1..9b899fbd 100644 --- a/staging/VERSION +++ b/staging/VERSION @@ -1 +1 @@ -Wine Staging 1.9.12 +Wine Staging 1.9.13 (unreleased)