Wine Gecko 2.21-beta1

Jacek Caban jacek at codeweavers.com
Thu Apr 25 05:23:57 CDT 2013


Hi all,

As some of you might have noticed, the final Wine Gecko 2.20 was never
been released, although it was scheduled for about three weeks ago. This
is mostly due to my lack of time, combined with the fact that part of
that time I was busy with some Gecko work that would be nice to have in
Wine. Being 3 weeks late means that we also have 3 weeks until the next
Firefox release, so we may just wait a bit longer and do another release
based on newer upstream code base. This way I may use the new beta to
include some of the changes that I did lately, which would be too risky
to go straight to release. Those new improvements contain, among others,
a fix for Adobe CS4 products installers.

In this beta, the testing is easier than ever. Our auto installer knows
about the beta which, combined with the fact that we cache downloaded
packages now, means that the attached Wine patch is all you need to
comfortably test the new package. Just apply the patch you the Wine tree
and everything should work. All tests are appreciated.

Thanks,
Jacek
-------------- next part --------------
diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c
index 2a47b84..a3bfd0b 100644
--- a/dlls/appwiz.cpl/addons.c
+++ b/dlls/appwiz.cpl/addons.c
@@ -53,14 +53,14 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
 
-#define GECKO_VERSION "1.9"
+#define GECKO_VERSION "2.21-beta1"
 
 #ifdef __i386__
 #define ARCH_STRING "x86"
-#define GECKO_SHA "d2553224848a926eacfa8685662ff1d7e8be2428"
+#define GECKO_SHA "246672bf7b5c6fb896865f2e2abadf5e16bdcaea"
 #elif defined(__x86_64__)
 #define ARCH_STRING "x86_64"
-#define GECKO_SHA "c7cd0994f89dd15b36ce8dacaa33d0ec47c407d1"
+#define GECKO_SHA "389aea6f0bc3db77ad1ed0645ea3a4885a5df04f"
 #else
 #define ARCH_STRING ""
 #define GECKO_SHA "???"
diff --git a/dlls/mshtml/htmlelem2.c b/dlls/mshtml/htmlelem2.c
index 24aaba5..516a3f5 100644
--- a/dlls/mshtml/htmlelem2.c
+++ b/dlls/mshtml/htmlelem2.c
@@ -1253,22 +1253,22 @@ static HRESULT WINAPI HTMLElement2_getElementsByTagName(IHTMLElement2 *iface, BS
                                                        IHTMLElementCollection **pelColl)
 {
     HTMLElement *This = impl_from_IHTMLElement2(iface);
-    nsIDOMNodeList *nslist;
+    nsIDOMHTMLCollection *nscol;
     nsAString tag_str;
     nsresult nsres;
 
     TRACE("(%p)->(%s %p)\n", This, debugstr_w(v), pelColl);
 
     nsAString_InitDepend(&tag_str, v);
-    nsres = nsIDOMHTMLElement_GetElementsByTagName(This->nselem, &tag_str, &nslist);
+    nsres = nsIDOMHTMLElement_GetElementsByTagName(This->nselem, &tag_str, &nscol);
     nsAString_Finish(&tag_str);
     if(NS_FAILED(nsres)) {
         ERR("GetElementByTagName failed: %08x\n", nsres);
         return E_FAIL;
     }
 
-    *pelColl = create_collection_from_nodelist(This->node.doc, nslist);
-    nsIDOMNodeList_Release(nslist);
+    *pelColl = create_collection_from_htmlcol(This->node.doc, nscol);
+    nsIDOMHTMLCollection_Release(nscol);
     return S_OK;
 }
 
diff --git a/dlls/mshtml/nsiface.idl b/dlls/mshtml/nsiface.idl
index 368a154..18653e6 100644
--- a/dlls/mshtml/nsiface.idl
+++ b/dlls/mshtml/nsiface.idl
@@ -23,7 +23,7 @@
  * compatible with XPCOM, usable in C code.
  */
 
-cpp_quote("#define GECKO_VERSION \"1.9\"")
+cpp_quote("#define GECKO_VERSION \"2.21-beta1\"")
 cpp_quote("#define GECKO_VERSION_STRING \"Wine Gecko \" GECKO_VERSION")
 
 import "wtypes.idl";
@@ -179,10 +179,7 @@ typedef nsISupports nsIDOMHistory;
 typedef nsISupports nsIDOMNavigator;
 typedef nsISupports nsIDOMMediaQueryList;
 typedef nsISupports nsIDOMScreen;
-typedef nsISupports nsIDOMCrypto;
-typedef nsISupports nsIDOMPkcs11;
 typedef nsISupports nsIAnimationFrameListener;
-typedef nsISupports nsIDOMMozURLProperty;
 typedef nsISupports nsIDOMStorageList;
 typedef nsISupports nsILocalFile;
 typedef nsISupports nsIDOMHTMLMenuElement;
@@ -195,6 +192,10 @@ typedef nsISupports nsIDOMBlob;
 typedef nsISupports nsIPrivacyTransitionObserver;
 typedef nsISupports nsIDOMHTMLPropertiesCollection;
 typedef nsISupports mozIDOMApplication;
+typedef nsISupports nsILoadGroupConnectionInfo;
+typedef nsISupports nsIDOMCrypto;
+typedef nsISupports nsIDOMPkcs11;
+typedef nsISupports nsIDocShellTreeOwner;
 
 typedef void *JSContext;
 typedef void *JSObject;
@@ -226,7 +227,7 @@ interface nsIFactory : nsISupports
 
 [
     object,
-    uuid(59e7e77a-38e4-11d4-8cf5-0060b0fc14a3),
+    uuid(6aef11c4-8615-44a6-9711-98f43805693d),
     local
 ]
 interface nsIMemory : nsISupports
@@ -236,6 +237,7 @@ interface nsIMemory : nsISupports
     void Free(void *_ptr);
     nsresult HeapMinimize(bool immediate);
     nsresult IsLowMemory(bool *_retval);
+    nsresult IsLowMemoryPlatform(bool *_retval);
 }
 
 [
@@ -521,7 +523,7 @@ interface nsIStreamListener : nsIRequestObserver
 
 [
     object,
-    uuid(3de0a31c-feaf-400f-9f1e-4ef71f8b20cc),
+    uuid(19501006-46e3-4634-b97d-26eff894b4d3),
     local
 ]
 interface nsILoadGroup : nsIRequest
@@ -536,11 +538,12 @@ interface nsILoadGroup : nsIRequest
     nsresult GetActiveCount(uint32_t *aActiveCount);
     nsresult GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks);
     nsresult SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks);
+    nsresult GetConnectionInfo(nsILoadGroupConnectionInfo **aConnectionInfo);
 }
 
 [
     object,
-    uuid(98f3b51b-bb55-4276-a43c-db636f8d77e3),
+    uuid(2a8a7237-c1e2-4de7-b669-2002af29e42d),
     local
 ]
 interface nsIChannel : nsIRequest
@@ -567,8 +570,8 @@ interface nsIChannel : nsIRequest
     nsresult SetContentType(const nsACString *aContentType);
     nsresult GetContentCharset(nsACString *aContentCharset);
     nsresult SetContentCharset(const nsACString *aContentCharset);
-    nsresult GetContentLength(int32_t *aContentLength);
-    nsresult SetContentLength(int32_t aContentLength);
+    nsresult GetContentLength(int64_t *aContentLength);
+    nsresult SetContentLength(int64_t aContentLength);
     nsresult Open(nsIInputStream **_retval);
     nsresult AsyncOpen(nsIStreamListener *aListener, nsISupports *aContext);
     nsresult GetContentDisposition(uint32_t *aContentDisposition);
@@ -590,7 +593,7 @@ interface nsIHttpHeaderVisitor : nsISupports
 
 [
     object,
-    uuid(9277fe09-f0cc-4cd9-bbce-581dd94b0260),
+    uuid(a01362a0-5c45-11e2-bcfd-0800200c9a66),
     local
 ]
 interface nsIHttpChannel : nsIChannel
@@ -614,11 +617,12 @@ interface nsIHttpChannel : nsIChannel
     nsresult VisitResponseHeaders(nsIHttpHeaderVisitor *aVisitor);
     nsresult IsNoStoreResponse(bool *_retval);
     nsresult IsNoCacheResponse(bool *_retval);
+    nsresult RedirectTo(nsIURI *aNewURI);
 }
 
 [
     object,
-    uuid(9363fd96-af59-47e8-bddf-1d5e91acd336),
+    uuid(74d13d41-85cd-490f-9942-300d0c01c726),
     local
 ]
 interface nsIHttpChannelInternal : nsISupports
@@ -642,6 +646,10 @@ interface nsIHttpChannelInternal : nsISupports
     nsresult HTTPUpgrade(const nsACString *aProtocolName, nsIHttpUpgradeListener *aListener);
     nsresult GetAllowSpdy(bool *aAllowSpdy);
     nsresult SetAllowSpdy(bool aAllowSpdy);
+    nsresult GetLoadAsBlocking(bool *aLoadAsBlocking);
+    nsresult SetLoadAsBlocking(bool aLoadAsBlocking);
+    nsresult GetLoadUnblocked(bool *aLoadUnblocked);
+    nsresult SetLoadUnblocked(bool aLoadUnblocked);
 }
 
 [
@@ -683,7 +691,7 @@ interface nsIChannelEventSink : nsISupports
 
 [
     object,
-    uuid(a6cf906d-15b3-11d2-932e-00805f8add32),
+    uuid(79de76e5-994e-4f6b-81aa-42d9adb6e67e),
     local
 ]
 interface nsIDOMLocation : nsISupports
@@ -704,10 +712,12 @@ interface nsIDOMLocation : nsISupports
     nsresult SetProtocol(const nsAString *aProtocol);
     nsresult GetSearch(nsAString *aSearch);
     nsresult SetSearch(const nsAString *aSearch);
+    nsresult GetOrigin(nsAString *aOrigin);
     nsresult Reload(bool forceget);
     nsresult Replace(const nsAString *url);
     nsresult Assign(const nsAString *url);
     nsresult ToString(nsAString *_retval);
+    nsresult ValueOf(nsIDOMLocation **_retval);
 }
 
 [
@@ -798,14 +808,25 @@ interface nsIDOMStyleSheetList : nsISupports
 
 [
     object,
-    uuid(496852ba-e48d-4fa5-982e-e0dc1b475bf1),
+    uuid(450cf0ba-de90-4f86-85bf-e10cc8b8713f),
     local
 ]
 interface nsIDOMNodeList : nsISupports
 {
     nsresult Item(uint32_t index, nsIDOMNode **_retval);
     nsresult GetLength(uint32_t *aLength);
-    /* Followed by semi-internal API that we don't want to use */
+}
+
+[
+    object,
+    uuid(bb07f567-5b37-4172-92aa-7d00ceed4809),
+    local
+]
+interface nsIDOMHTMLCollection : nsISupports
+{
+    nsresult GetLength(uint32_t *aLength);
+    nsresult Item(uint32_t index, nsIDOMNode **_retval);
+    nsresult NamedItem(const nsAString *name, nsIDOMNode **_retval);
 }
 
 [
@@ -929,13 +950,13 @@ interface nsIDOMClientRect : nsISupports
 
 [
     object,
-    uuid(69d44ce2-b544-49a8-bb5f-87804b971ee4),
+    uuid(8f972a47-1f20-4906-b59d-19310349a2c2),
     local
 ]
 interface nsIDOMElement : nsIDOMNode
 {
     nsresult GetTagName(nsAString *aTagName);
-    nsresult GetClassList(nsIDOMDOMTokenList **aClassList);
+    nsresult GetClassList(nsISupports **aClassList);
     nsresult GetAttribute(const nsAString *name, nsAString *_retval);
     nsresult GetAttributeNS(const nsAString *namespaceURI, const nsAString *localName, nsAString *_retval);
     nsresult SetAttribute(const nsAString *name, const nsAString *value);
@@ -949,9 +970,9 @@ interface nsIDOMElement : nsIDOMNode
     nsresult RemoveAttributeNode(nsIDOMAttr *oldAttr, nsIDOMAttr **_retval);
     nsresult GetAttributeNodeNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMAttr **_retval);
     nsresult SetAttributeNodeNS(nsIDOMAttr *newAttr, nsIDOMAttr **_retval);
-    nsresult GetElementsByTagName(const nsAString *name, nsIDOMNodeList **_retval);
-    nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMNodeList **_retval);
-    nsresult GetElementsByClassName(const nsAString *classes, nsIDOMNodeList **_retval);
+    nsresult GetElementsByTagName(const nsAString *name, nsIDOMHTMLCollection **_retval);
+    nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMHTMLCollection **_retval);
+    nsresult GetElementsByClassName(const nsAString *classes, nsIDOMHTMLCollection **_retval);
     nsresult GetChildElements(nsIDOMNodeList **aChildren);
     nsresult GetFirstElementChild(nsIDOMElement **aFirstElementChild);
     nsresult GetLastElementChild(nsIDOMElement **aLastElementChild);
@@ -1012,14 +1033,14 @@ interface nsIDOMHTMLElement : nsIDOMElement
     nsresult SetDir(const nsAString *aDir);
     nsresult GetClassName(nsAString *aClassName);
     nsresult SetClassName(const nsAString *aClassName);
-    nsresult GetDataset(nsIDOMDOMStringMap **aDataset);
+    nsresult GetDataset(nsISupports **aDataset);
     nsresult GetItemScope(bool *aItemScope);
     nsresult SetItemScope(bool aItemScope);
     nsresult GetItemType(nsIVariant **aItemType);
     nsresult SetItemType(nsIVariant *aItemType);
     nsresult GetItemId(nsAString *aItemId);
     nsresult SetItemId(const nsAString *aItemId);
-    nsresult GetProperties(nsIDOMHTMLPropertiesCollection **aProperties);
+    nsresult GetProperties(nsISupports **aProperties);
     nsresult GetItemValue(nsIVariant **aItemValue);
     nsresult SetItemValue(nsIVariant *aItemValue);
     nsresult GetItemProp(nsIVariant **aItemProp);
@@ -1066,20 +1087,6 @@ interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement
 {
 }
 
-
-[
-    object,
-    uuid(db690d8f-3bca-4198-be64-78adb7f38bf8),
-    local
-]
-interface nsIDOMHTMLCollection : nsISupports
-{
-    nsresult GetLength(uint32_t *aLength);
-    nsresult Item(uint32_t index, nsIDOMNode **_retval);
-    nsresult NamedItem(const nsAString *name, nsIDOMNode **_retval);
-    /* Followed by semi-internal API that we don't want to use */
-}
-
 [
     object,
     uuid(cb75c251-afc7-444f-b2d6-b9635555f3ed),
@@ -1128,7 +1135,7 @@ interface nsIDOMDocumentFragment : nsIDOMNode
 
 [
     object,
-    uuid(b7e90442-74d6-494e-af01-906d95926dec),
+    uuid(9b93f82b-9691-4021-8f45-1bf505db77ba),
     local
 ]
 interface nsIDOMDocument : nsIDOMNode
@@ -1151,6 +1158,7 @@ interface nsIDOMDocument : nsIDOMNode
     nsresult GetElementById(const nsAString *elementId, nsIDOMElement **_retval);
     nsresult GetInputEncoding(nsAString *aInputEncoding);
     nsresult GetDocumentURI(nsAString *aDocumentURI);
+    nsresult GetURL(nsAString *aURL);
     nsresult AdoptNode(nsIDOMNode *source, nsIDOMNode **_retval);
     nsresult CreateRange(nsIDOMRange **_retval);
     nsresult CreateNodeIterator(nsIDOMNode *root, uint32_t whatToShow, nsIDOMNodeFilter *filter, uint8_t _argc,
@@ -1190,6 +1198,7 @@ interface nsIDOMDocument : nsIDOMNode
     nsresult GetMozFullScreen(bool *aMozFullScreen);
     nsresult GetMozFullScreenEnabled(bool *aMozFullScreenEnabled);
     nsresult GetMozPointerLockElement(nsIDOMElement **aMozPointerLockElement);
+    nsresult CaretPositionFromPoint(float x, float y, nsISupports **_retval);
     nsresult MozExitPointerLock();
     nsresult GetOnreadystatechange(JSContext* cx, jsval aOnreadystatechange);
     nsresult SetOnreadystatechange(JSContext* cx, const jsval *aOnreadystatechange);
@@ -1201,21 +1210,20 @@ interface nsIDOMDocument : nsIDOMNode
     nsresult GetMozHidden(bool *aMozHidden);
     nsresult GetVisibilityState(nsAString *aVisibilityState);
     nsresult GetMozVisibilityState(nsAString *aMozVisibilityState);
+    nsresult GetCompatMode(nsAString *aCompatMode);
 }
 
 [
     object,
-    uuid(ecae54c6-2ab9-4167-b0ef-61960aadbb68),
+    uuid(3f8666a9-76f0-4733-ae11-4aea8753062d),
     local
 ]
 interface nsIDOMHTMLDocument : nsIDOMDocument
 {
-    nsresult GetURL(nsAString *aURL);
     nsresult GetDomain(nsAString *aDomain);
     nsresult SetDomain(const nsAString *aDomain);
     nsresult GetCookie(nsAString *aCookie);
     nsresult SetCookie(const nsAString *aCookie);
-    nsresult GetCompatMode(nsAString *aCompatMode);
     nsresult GetHead(nsIDOMHTMLHeadElement **aHead);
     nsresult GetBody(nsIDOMHTMLElement **aBody);
     nsresult SetBody(nsIDOMHTMLElement *aBody);
@@ -1351,7 +1359,7 @@ interface nsIDOMWindowCollection : nsISupports
 
 [
     object,
-    uuid(7afa38e6-45a1-4f0b-ae84-997669d14059),
+    uuid(39cb59d4-fba9-48a9-b70b-570a7ec2ebfa),
     local
 ]
 interface nsIDOMWindow : nsISupports
@@ -1391,7 +1399,7 @@ interface nsIDOMWindow : nsISupports
     nsresult Prompt(const nsAString *aMessage, const nsAString *aInitial, nsAString *_retval);
     nsresult Print();
     nsresult ShowModalDialog(const nsAString *aURI, nsIVariant *aArgs, const nsAString *aOptions, nsIVariant **_retval);
-    nsresult PostMessageMoz(const long /*jsval*/ *message, const nsAString *targetOrigin, JSContext *cx);
+    nsresult PostMessageMoz(const long /*jsval*/ *message, const nsAString *targetOrigin, const /*JS::Value*/ void *transfer, JSContext *cx);
     nsresult Atob(const nsAString *aAsciiString, nsAString *_retval);
     nsresult Btoa(const nsAString *aBase64Data, nsAString *_retval);
     nsresult GetSessionStorage(nsIDOMStorage **aSessionStorage);
@@ -1419,6 +1427,7 @@ interface nsIDOMWindow : nsISupports
     nsresult GetOuterHeight(int32_t *aOuterHeight);
     nsresult SetOuterHeight(int32_t aOuterHeight);
     nsresult GetComputedStyle(nsIDOMElement *elt, const nsAString *pseudoElt, nsIDOMCSSStyleDeclaration **_retval);
+    nsresult GetDefaultComputedStyle(nsIDOMElement *elt, const nsAString *pseudoElt, nsIDOMCSSStyleDeclaration **_retval);
     nsresult GetWindowRoot(nsIDOMEventTarget **aWindowRoot);
     nsresult GetFrames(nsIDOMWindowCollection **aFrames);
     nsresult GetTextZoom(float *aTextZoom);
@@ -1459,7 +1468,6 @@ interface nsIDOMWindow : nsISupports
     nsresult MozCancelAnimationFrame(int32_t aHandle);
     nsresult MozCancelRequestAnimationFrame(int32_t aHandle);
     nsresult GetMozAnimationStartTime(int64_t *aMozAnimationStartTime);
-    nsresult GetURL(nsIDOMMozURLProperty **aURL);
     nsresult GetOnafterprint(JSContext *cx, jsval *aOnafterprint);
     nsresult SetOnafterprint(JSContext *cx, const jsval *aOnafterprint);
     nsresult GetOnbeforeprint(JSContext *cx, jsval *aOnbeforeprint);
@@ -1579,7 +1587,7 @@ interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
 
 [
     object,
-    uuid(e59a4df5-0904-414d-9203-9af2790698ea),
+    uuid(83984fd0-b0b2-11e1-afa6-0800200c9a66),
     local
 ]
 interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
@@ -1614,6 +1622,8 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
     nsresult SetHeight(uint32_t aHeight);
     nsresult GetIndeterminate(bool *aIndeterminate);
     nsresult SetIndeterminate(bool aIndeterminate);
+    nsresult GetInputmode(nsAString *aInputmode);
+    nsresult SetInputmode(const nsAString *aInputmode);
     nsresult GetList(nsIDOMHTMLElement **aList);
     nsresult GetMax(nsAString *aMax);
     nsresult SetMax(const nsAString *aMax);
@@ -1651,6 +1661,8 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
     nsresult SetValue(const nsAString *aValue);
     nsresult GetValueAsNumber(double *aValueAsNumber);
     nsresult SetValueAsNumber(double aValueAsNumber);
+    nsresult GetValueAsDate(JSContext* cx, /*JS::Value*/ void *aValueAsDate);
+    nsresult SetValueAsDate(JSContext* cx, const /*JS::Value*/ void *aValueAsDate);
     nsresult StepDown(int32_t n, uint8_t _argc);
     nsresult StepUp(int32_t n, uint8_t _argc);
     nsresult GetWillValidate(bool *aWillValidate);
@@ -1735,7 +1747,7 @@ interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement
 
 [
     object,
-    uuid(429b041b-06df-486c-9a3a-a1d901cc76a2),
+    uuid(4173cc53-30f6-4d12-a770-981ba53164e2),
     local
 ]
 interface nsIDOMHTMLOptionsCollection : nsISupports
@@ -1746,7 +1758,6 @@ interface nsIDOMHTMLOptionsCollection : nsISupports
     nsresult SetLength(uint32_t aLength);
     nsresult Item(uint32_t index, nsIDOMNode **_retval);
     nsresult NamedItem(const nsAString *name, nsIDOMNode **_retval);
-    nsISupports* __cdecl GetNamedItem(const nsAString *name, nsWrapperCache **cache);
     nsresult GetSelectedIndex(int32_t *aSelectedIndex);
     nsresult SetSelectedIndex(int32_t aSelectedIndex);
     nsresult SetOption(uint32_t index, nsIDOMHTMLOptionElement *option);
@@ -1915,7 +1926,7 @@ interface nsIDOMHTMLImageElement : nsIDOMHTMLElement
 
 [
     object,
-    uuid(68f49f8f-5ffd-44eb-a59f-d2b3f4817299),
+    uuid(1339c36e-23ad-4047-a04c-1702e27c7c83),
     local
 ]
 interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement
@@ -1926,6 +1937,8 @@ interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement
     nsresult SetTarget(const nsAString *aTarget);
     nsresult GetPing(nsAString *aPing);
     nsresult SetPing(const nsAString *aPing);
+    nsresult GetDownload(nsAString *aPing);
+    nsresult SetDownload(const nsAString *aPing);
     nsresult GetRel(nsAString *aRel);
     nsresult SetRel(const nsAString *aRel);
     nsresult GetHreflang(nsAString *aHreflang);
@@ -2186,7 +2199,7 @@ interface nsIDOMHTMLParamElement : nsIDOMHTMLElement
 
 [
     object,
-    uuid(830d9170-f8eb-4749-b721-16d60d6b0f1b),
+    uuid(f9db1001-faae-46e1-b85f-0a0afb80c5b2),
     local
 ]
 interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement
@@ -2197,6 +2210,8 @@ interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement
     nsresult SetMedia(const nsAString *aMedia);
     nsresult GetType(nsAString *aType);
     nsresult SetType(const nsAString *aType);
+    nsresult GetScoped(bool *aScoped);
+    nsresult SetScoped(bool aScoped);
     nsresult GetDOMStyleSheet(nsIDOMStyleSheet **aDOMStyleSheet);
 }
 
@@ -2277,7 +2292,7 @@ typedef void* nativeWindow;
 
 [
     object,
-    uuid(9da319f3-eee6-4504-81a5-6a19cf6215bf),
+    uuid(9da319f3-eee6-4504-81a5-6A19cf6215bf),
     local
 ]
 interface nsIBaseWindow : nsISupports
@@ -2311,7 +2326,7 @@ interface nsIBaseWindow : nsISupports
 
 [
     object,
-    uuid(f5d9e7b0-d930-11d3-b057-00a024ffc08c),
+    uuid(28404f7e-0f17-4dc3-a21a-2074d8659b02),
     local
 ]
 interface nsIWebNavigation : nsISupports
@@ -2366,7 +2381,7 @@ interface nsIWebProgress : nsISupports
 
 [
     object,
-    uuid(4404c94b-0506-4255-9e3c-4582dba6cfbb),
+    uuid(a65cfa37-b381-4fe9-81b7-db08853f54ad),
     local
 ]
 interface nsIPrintSettings : nsISupports
@@ -2491,6 +2506,8 @@ interface nsIPrintSettings : nsISupports
     nsresult SetIsInitializedFromPrinter(bool aIsInitializedFromPrinter);
     nsresult GetIsInitializedFromPrefs(bool *aIsInitializedFromPrefs);
     nsresult SetIsInitializedFromPrefs(bool aIsInitializedFromPrefs);
+    nsresult GetPersistMarginBoxSettings(bool *aPersistMarginBoxSettings);
+    nsresult SetPersistMarginBoxSettings(bool aPersistMarginBoxSettings);
     nsresult SetMarginInTwips(nsIntMargin *aMargin);
     nsresult SetEdgeInTwips(nsIntMargin *aEdge);
     nsresult GetMarginInTwips(nsIntMargin *aMargin);
@@ -2653,7 +2670,7 @@ interface nsIComponentManager : nsISupports
 
 [
     object,
-    uuid(7df46a54-d8b0-448e-903c-4341a1b2499c),
+    uuid(55d25e49-793f-4727-a69f-de8b15f4b985),
     local
 ]
 interface nsIPrefBranch : nsISupports
@@ -2703,7 +2720,7 @@ interface nsIDirectoryServiceProvider2 : nsIDirectoryServiceProvider
 
 [
     object,
-    uuid(15fd6940-8ea7-11d3-93ad-00104ba0fd40),
+    uuid(f5753fec-a051-4ddc-8891-11f1f1575072),
     local
 ]
 interface nsIProtocolHandler : nsISupports
@@ -2832,7 +2849,7 @@ interface nsIDOMEventTarget : nsISupports
 
 [
     object,
-    uuid(270c945b-8a65-4170-bc0b-4ec1443cd39f),
+    uuid(c939eab8-1345-4344-875b-e0f2d8d89171),
     local
 ]
 interface nsIDOMEvent : nsISupports
@@ -2859,14 +2876,14 @@ interface nsIDOMEvent : nsISupports
     nsresult SetTarget(nsIDOMEventTarget *aTarget);
     bool IsDispatchStopped();
     /*nsEvent*/ void *GetInternalNSEvent();
-    nsresult SetTrusted(bool aTrusted);
+    void SetTrusted(bool aTrusted);
     void Serialize(/*IPC::Message*/ void *aMsg, bool aSerializeInterfaceType);
     bool Deserialize(const /*IPC::Message*/ void *aMsg, void **aIter);
 }
 
 [
     object,
-    uuid(ed36f965-173c-4101-a615-63b44f51ed90),
+    uuid(16b3bdcc-75d4-11e2-8a20-aaff78957a39),
     local
 ]
 interface nsIDOMWindowUtils : nsISupports
@@ -2881,11 +2898,13 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult GetViewportInfo(uint32_t aDisplayWidth, uint32_t aDisplayHeight, double *aDefaultZoom, bool *aAllowZoom,
            double *aMinZoom, double *aMaxZoom, uint32_t *aWidth, uint32_t *aHeight, bool *aAutoSize);
     nsresult SetDisplayPortForElement(float aXPx, float aYPx, float aWidthPx, float aHeightPx, nsIDOMElement *aElement);
+    nsresult SetCriticalDisplayPortForElement(float aXPx, float aYPx, float aWidthPx, float aHeightPx, nsIDOMElement *aElement);
     nsresult SetResolution(float aXResolution, float aYResolution);
+    nsresult GetResolution(float *aXResolution, float *aYResolution);
     nsresult GetIsFirstPaint(bool *aIsFirstPaint);
     nsresult SetIsFirstPaint(bool aIsFirstPaint);
     nsresult SendMouseEvent(const nsAString *aType, float aX, float aY, int32_t aButton, int32_t aClickCount,
-           int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, uint16_t aInputSourceArg);
+           int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, uint16_t aInputSourceArg, bool *_retval);
     nsresult SendTouchEvent(const nsAString *aType, uint32_t *aIdentifiers, int32_t *aXs, int32_t *aYs,
            uint32_t *aRxs, uint32_t *aRys, float *aRotationAngles, float *aForces, uint32_t count, int32_t aModifiers,
            bool aIgnoreRootScrollFrame, bool *_retval);
@@ -2918,12 +2937,14 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult ClearMozAfterPaintEvents();
     nsresult DisableNonTestMouseEvents(bool aDisable);
     nsresult GetScrollXY(bool aFlushLayout, int32_t *aScrollX, int32_t *aScrollY);
+    nsresult GetScrollbarWidth(bool aFlushLayout, int32_t *_retval);
     nsresult GetRootBounds(nsIDOMClientRect **_retval);
     nsresult GetIMEIsOpen(bool *aIMEIsOpen);
     nsresult GetIMEStatus(uint32_t *aIMEStatus);
     nsresult GetScreenPixelsPerCSSPixel(float *aScreenPixelsPerCSSPixel);
     nsresult GetFullZoom(float *aFullZoom);
     nsresult DispatchDOMEventViaPresShell(nsIDOMNode *aTarget, nsIDOMEvent *aEvent, bool aTrusted, bool *_retval);
+    nsresult DispatchEventToChromeOnly(nsIDOMEventTarget *aTarget, nsIDOMEvent *aEvent, bool *_retval);
     nsresult GetClassName(const /*JS::Value*/ void *aObject, JSContext *cx, char **_retval);
     nsresult SendContentCommandEvent(const nsAString *aType, nsITransferable *aTransferable);
     nsresult SendCompositionEvent(const nsAString *aType, const nsAString *aData, const nsAString *aLocale);
@@ -2950,8 +2971,8 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult SuspendTimeouts();
     nsresult ResumeTimeouts();
     nsresult GetLayerManagerType(nsAString *aLayerManagerType);
-    nsresult StartFrameTimeRecording();
-    nsresult StopFrameTimeRecording(uint32_t *frameCount, float **frameTime);
+    nsresult StartFrameTimeRecording(uint32_t *startIndex);
+    nsresult StopFrameTimeRecording(uint32_t startIndex, float **paintTimes, uint32_t *frameCount, float **frameIntervals);
     nsresult BeginTabSwitch();
     nsresult GetDisplayDPI(float *aDisplayDPI);
     nsresult GetOuterWindowWithId(uint64_t aOuterWindowID, nsIDOMWindow **_retval);
@@ -2989,6 +3010,7 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult RemoveSheet(nsIURI *sheetURI, uint32_t type);
     nsresult GetIsHandlingUserInput(bool *aIsHandlingUserInput);
     nsresult AllowScriptsToClose();
+    nsresult IsNodeDisabledForEvents(nsIDOMNode *aNode, bool *_retval);
 }
 
 cpp_quote("#define CONTEXT_NONE              0x00")
@@ -3011,7 +3033,7 @@ interface nsIContextMenuListener : nsISupports
 
 [
     object,
-    uuid(415453e6-132a-4902-9a99-cc480f0311b6),
+    uuid(d73852f8-7bd6-477d-8233-117dbf83860b),
     local
 ]
 interface nsIDOMUIEvent : nsIDOMEvent
@@ -3034,7 +3056,7 @@ interface nsIDOMUIEvent : nsIDOMEvent
 
 [
     object,
-    uuid(796c3436-5f89-4145-be3a-49808c09fdc6),
+    uuid(afb2e57b-2822-4969-b2a9-0cada6859534),
     local
 ]
 interface nsIDOMMouseEvent : nsIDOMUIEvent
@@ -3069,7 +3091,7 @@ interface nsIDOMMouseEvent : nsIDOMUIEvent
 
 [
     object,
-    uuid(5d116380-8432-48cb-a717-200f04c39d2f),
+    uuid(ffbe684c-ca90-4b58-aa8c-9727f997f86d),
     local
 ]
 interface nsIDOMKeyEvent : nsIDOMUIEvent
@@ -3265,7 +3287,7 @@ interface nsIController : nsISupports
 
 [
     object,
-    uuid(e2985850-81ca-4b5d-b0f3-e395d50d8564),
+    uuid(8a8b4b1d-72d8-428e-9575-f918baf69ea1),
     local
 ]
 interface nsIContent : nsISupports
@@ -3275,7 +3297,7 @@ interface nsIContent : nsISupports
 
 [
     object,
-    uuid(0e1324c9-c997-447e-bcd9-a657802991e4),
+    uuid(4e6f7d97-091e-4eda-b7d6-feb0b8012a93),
     local
 ]
 interface nsIDocument : nsISupports
@@ -3309,7 +3331,7 @@ interface nsIContentSerializer : nsISupports
 
 [
     object,
-    uuid(12efa18c-920a-47cd-94a1-4052f245f76c),
+    uuid(753b38d1-ee03-4e58-a650-1076ccccdb7f),
     local
 ]
 interface nsIEditor  : nsISupports
@@ -3384,8 +3406,8 @@ interface nsIEditor  : nsISupports
     nsresult SwitchTextDirection();
     nsresult OutputToString([in] nsAString formatType, [in] uint32_t flags, [out] nsAString *_retval);
     nsresult OutputToStream([in] nsIOutputStream *aStream, [in] nsAString *formatType, [in] nsACString *charsetOverride, [in] uint32_t flags);
-    nsresult SetEditorObserver(void /* EditActionListener*/ *observer);
-    nsresult RemoveEditorObserver();
+    nsresult SetEditorObserver(nsIEditorObserver *observer);
+    nsresult RemoveEditorObserver(nsIEditorObserver *observer);
     nsresult AddEditActionListener([in] nsIEditActionListener *listener);
     nsresult RemoveEditActionListener([in] nsIEditActionListener *listener);
     nsresult AddDocumentStateListener([in] nsIDocumentStateListener *listener);
@@ -3462,26 +3484,64 @@ interface nsIHTMLEditor : nsISupports
     void /*Element*/ *GetActiveEditingHost();
 }
 
+interface nsIDocShellTreeItem;
+
+[
+    object,
+    uuid(37f1ab73-f224-44b1-82f0-d2834ab1cec0),
+    local
+]
+interface nsIDocShellTreeNode : nsISupports
+{
+    nsresult GetChildCount(int32_t *aChildCount);
+    nsresult AddChild(nsIDocShellTreeItem *child);
+    nsresult RemoveChild(nsIDocShellTreeItem *child);
+    nsresult GetChildAt(int32_t index, nsIDocShellTreeItem **_retval);
+    nsresult FindChildWithName(const PRUnichar *aName, bool aRecurse, bool aSameType, nsIDocShellTreeItem *aRequestor,
+            nsIDocShellTreeItem *aOriginalRequestor, nsIDocShellTreeItem **_retval);
+}
+
+[
+    object,
+    uuid(09b54ec1-d98a-49a9-bc95-3219e8b55089),
+    local
+]
+interface nsIDocShellTreeItem : nsIDocShellTreeNode
+{
+    nsresult GetName(PRUnichar **aName);
+    nsresult SetName(const PRUnichar *aName);
+    nsresult NameEquals(const PRUnichar *name, bool *_retval);
+    nsresult GetItemType(int32_t *aItemType);
+    nsresult SetItemType(int32_t aItemType);
+    nsresult GetParent(nsIDocShellTreeItem **aParent);
+    nsresult GetSameTypeParent(nsIDocShellTreeItem **aSameTypeParent);
+    nsresult GetRootTreeItem(nsIDocShellTreeItem **aRootTreeItem);
+    nsresult GetSameTypeRootTreeItem(nsIDocShellTreeItem **aSameTypeRootTreeItem);
+    nsresult FindItemWithName(const PRUnichar *name, nsISupports *aRequestor, nsIDocShellTreeItem *aOriginalRequestor, nsIDocShellTreeItem **_retval);
+    nsresult GetTreeOwner(nsIDocShellTreeOwner **aTreeOwner);
+    nsresult SetTreeOwner(nsIDocShellTreeOwner *treeOwner);
+}
+
 [
     object,
-    uuid(318ce516-3f7a-41f6-8f3d-3661650f7a46),
+    uuid(e8f6f3e5-8cee-4be3-8d56-5ed617305bf8),
     local
 ]
-interface nsIDocShell : nsISupports
+interface nsIDocShell : nsIDocShellTreeItem
 {
     nsresult LoadURI(nsIURI *uri, nsIDocShellLoadInfo *loadInfo, uint32_t aLoadFlags, bool firstParty);
     nsresult LoadStream(nsIInputStream *aStream, nsIURI *aURI, const nsACString *aContentType,
             const nsACString *aContentCharset, nsIDocShellLoadInfo *aLoadInfo);
     nsresult InternalLoad(nsIURI *aURI, nsIURI *aReferrer, nsISupports *aOwner, uint32_t aFlags, const PRUnichar *aWindowTarget,
-            const char *aTypeHint, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags,
-            nsISHEntry *aSHEntry, bool firstParty, nsIDocShell **aDocShell, nsIRequest **aRequest);
+            const char *aTypeHint, nsACString *aFileName, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream,
+            uint32_t aLoadFlags, nsISHEntry *aSHEntry, bool firstParty, nsIDocShell **aDocShell, nsIRequest **aRequest);
     nsresult AddState(nsIVariant *aData, const nsAString *aTitle, const nsAString *aURL, bool aReplace, JSContext *cx);
     nsresult CreateLoadInfo(nsIDocShellLoadInfo **loadInfo);
     nsresult PrepareForNewContentModel();
     nsresult SetCurrentURI(nsIURI *aURI);
     nsresult FirePageHideNotification(bool isUnload);
     nsresult GetPresContext(void /*nsPresContext*/ **aPresContext);
-    nsresult GetPresShell(nsIPresShell **aPresShell);
+    nsIPresShell *GetPresShell();
     nsresult GetEldestPresShell(nsIPresShell **aEldestPresShell);
     nsresult GetContentViewer(nsIContentViewer **aContentViewer);
     nsresult GetChromeEventHandler(nsIDOMEventTarget **aChromeEventHandler);
@@ -3543,6 +3603,10 @@ interface nsIDocShell : nsISupports
     nsresult SetChildOffset(uint32_t offset);
     nsresult GetIsInUnload(bool *aIsInUnload);
     nsresult GetChannelIsUnsafe(bool *aChannelIsUnsafe);
+    nsresult GetHasMixedActiveContentLoaded(bool *aHasMixedActiveContentLoaded);
+    nsresult GetHasMixedActiveContentBlocked(bool *aHasMixedActiveContentBlocked);
+    nsresult GetHasMixedDisplayContentLoaded(bool *aHasMixedDisplayContentLoaded);
+    nsresult GetHasMixedDisplayContentBlocked(bool *aHasMixedDisplayContentBlocked);
     void DetachEditorFromWindow();
     nsresult GetIsOffScreenBrowser(bool *aIsOffScreenBrowser);
     nsresult SetIsOffScreenBrowser(bool aIsOffScreenBrowser);
@@ -3575,9 +3639,20 @@ interface nsIDocShell : nsISupports
     nsresult GetAsyncPanZoomEnabled(bool *aAsyncPanZoomEnabled);
     nsresult GetSandboxFlags(uint32_t *aSandboxFlags);
     nsresult SetSandboxFlags(uint32_t aSandboxFlags);
+    nsresult GetMixedContentChannel(nsIChannel **aMixedContentChannel);
+    nsresult SetMixedContentChannel(nsIChannel *aMixedContentChannel);
+    nsresult GetAllowMixedContentAndConnectionData(bool *rootHasSecureConnection, bool *allowMixedContent, bool *isRootDocShell);
     bool PluginsAllowedInCurrentDoc();
     nsresult GetFullscreenAllowed(bool *aFullscreenAllowed);
     nsresult SetFullscreenAllowed(bool allowed);
+    nsresult GetAffectPrivateSessionLifetime(bool *aAffectPrivateSessionLifetime);
+    nsresult SetAffectPrivateSessionLifetime(bool aAffectPrivateSessionLifetime);
+    nsresult GetMayEnableCharacterEncodingMenu(bool *aMayEnableCharacterEncodingMenu);
+    nsresult GetEditor(nsIEditor **aEditor);
+    nsresult SetEditor(nsIEditor *aEditor);
+    nsresult GetEditable(bool *aEditable);
+    nsresult GetHasEditingSession(bool *aHasEditingSession);
+    nsresult MakeEditable(bool inWaitForUriLoad);
 }
 
 [
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index c631cbb..da7d930 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -834,7 +834,7 @@ static nsresult NSAPI nsChannel_SetContentCharset(nsIHttpChannel *iface,
     return NS_OK;
 }
 
-static nsresult NSAPI nsChannel_GetContentLength(nsIHttpChannel *iface, LONG *aContentLength)
+static nsresult NSAPI nsChannel_GetContentLength(nsIHttpChannel *iface, INT64 *aContentLength)
 {
     nsChannel *This = impl_from_nsIHttpChannel(iface);
 
@@ -843,11 +843,11 @@ static nsresult NSAPI nsChannel_GetContentLength(nsIHttpChannel *iface, LONG *aC
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-static nsresult NSAPI nsChannel_SetContentLength(nsIHttpChannel *iface, LONG aContentLength)
+static nsresult NSAPI nsChannel_SetContentLength(nsIHttpChannel *iface, INT64 aContentLength)
 {
     nsChannel *This = impl_from_nsIHttpChannel(iface);
 
-    FIXME("(%p)->(%d)\n", This, aContentLength);
+    FIXME("(%p)->(%s)\n", This, wine_dbgstr_longlong(aContentLength));
 
     return NS_ERROR_NOT_IMPLEMENTED;
 }
@@ -1382,6 +1382,15 @@ static nsresult NSAPI nsChannel_IsNoCacheResponse(nsIHttpChannel *iface, cpp_boo
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
+static nsresult NSAPI nsChannel_RedirectTo(nsIHttpChannel *iface, nsIURI *aNewURI)
+{
+    nsChannel *This = impl_from_nsIHttpChannel(iface);
+
+    FIXME("(%p)->(%p)\n", This, aNewURI);
+
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
 static const nsIHttpChannelVtbl nsChannelVtbl = {
     nsChannel_QueryInterface,
     nsChannel_AddRef,
@@ -1435,7 +1444,8 @@ static const nsIHttpChannelVtbl nsChannelVtbl = {
     nsChannel_SetResponseHeader,
     nsChannel_VisitResponseHeaders,
     nsChannel_IsNoStoreResponse,
-    nsChannel_IsNoCacheResponse
+    nsChannel_IsNoCacheResponse,
+    nsChannel_RedirectTo
 };
 
 static inline nsChannel *impl_from_nsIUploadChannel(nsIUploadChannel *iface)
@@ -1719,6 +1729,34 @@ static nsresult NSAPI nsHttpChannelInternal_SetAllowSpdy(nsIHttpChannelInternal
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
+static nsresult NSAPI nsHttpChannelInternal_GetLoadAsBlocking(nsIHttpChannelInternal *iface, cpp_bool *aLoadAsBlocking)
+{
+    nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
+    FIXME("(%p)->(%p)\n", This, aLoadAsBlocking);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+static nsresult NSAPI nsHttpChannelInternal_SetLoadAsBlocking(nsIHttpChannelInternal *iface, cpp_bool aLoadAsBlocking)
+{
+    nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
+    FIXME("(%p)->(%x)\n", This, aLoadAsBlocking);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+static nsresult NSAPI nsHttpChannelInternal_GetLoadUnblocked(nsIHttpChannelInternal *iface, cpp_bool *aLoadUnblocked)
+{
+    nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
+    FIXME("(%p)->(%p)\n", This, aLoadUnblocked);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+static nsresult NSAPI nsHttpChannelInternal_SetLoadUnblocked(nsIHttpChannelInternal *iface, cpp_bool aLoadUnblocked)
+{
+    nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
+    FIXME("(%p)->(%x)\n", This, aLoadUnblocked);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
 static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = {
     nsHttpChannelInternal_QueryInterface,
     nsHttpChannelInternal_AddRef,
@@ -1741,7 +1779,11 @@ static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = {
     nsHttpChannelInternal_SetCacheKeysRedirectChain,
     nsHttpChannelInternal_HTTPUpgrade,
     nsHttpChannelInternal_GetAllowSpdy,
-    nsHttpChannelInternal_SetAllowSpdy
+    nsHttpChannelInternal_SetAllowSpdy,
+    nsHttpChannelInternal_GetLoadAsBlocking,
+    nsHttpChannelInternal_SetLoadAsBlocking,
+    nsHttpChannelInternal_GetLoadUnblocked,
+    nsHttpChannelInternal_SetLoadUnblocked
 };
 
 
diff --git a/dlls/mshtml/propbag.c b/dlls/mshtml/propbag.c
index 14cc55e..2aacb53 100644
--- a/dlls/mshtml/propbag.c
+++ b/dlls/mshtml/propbag.c
@@ -272,7 +272,7 @@ static HRESULT fill_props(nsIDOMHTMLElement *nselem, PropertyBag *prop_bag)
 {
     nsIDOMHTMLParamElement *nsparam;
     nsAString name_str, value_str;
-    nsIDOMNodeList *params;
+    nsIDOMHTMLCollection *params;
     UINT32 length, i;
     nsIDOMNode *nsnode;
     nsresult nsres;
@@ -286,12 +286,12 @@ static HRESULT fill_props(nsIDOMHTMLElement *nselem, PropertyBag *prop_bag)
     if(NS_FAILED(nsres))
         return E_FAIL;
 
-    nsres = nsIDOMNodeList_GetLength(params, &length);
+    nsres = nsIDOMHTMLCollection_GetLength(params, &length);
     if(NS_FAILED(nsres))
         length = 0;
 
     for(i=0; i < length; i++) {
-        nsres = nsIDOMNodeList_Item(params, i, &nsnode);
+        nsres = nsIDOMHTMLCollection_Item(params, i, &nsnode);
         if(NS_FAILED(nsres)) {
             hres = E_FAIL;
             break;
@@ -330,7 +330,7 @@ static HRESULT fill_props(nsIDOMHTMLElement *nselem, PropertyBag *prop_bag)
         }
     }
 
-    nsIDOMNodeList_Release(params);
+    nsIDOMHTMLCollection_Release(params);
     return hres;
 }
 


More information about the wine-devel mailing list