Wine Gecko 2.20-beta1

Jacek Caban jacek at codeweavers.com
Thu Mar 7 05:07:36 CST 2013


Hi all,

I've uploaded a new Gecko builds to SourceForge [1]. This one is based on Firefox 20 beta and, other than usual update of Gecko, it should fix some crashes like bug b*ug 32753* <http://bugs.winehq.org/show_bug.cgi?id=32753>. To test them, you need recent Wine Git version with the attached patch. As usually, grab the build from SourceForge, put it in the right place [2] and run patched Wine. All help with testing is appreciated!

Thanks,
Jacek

[1] http://sourceforge.net/projects/wine/files/Wine%20Gecko/2.20-beta1/
[2] http://wiki.winehq.org/Gecko

-------------- next part --------------
diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c
index 2a47b84..cdaf7e2 100644
--- a/dlls/appwiz.cpl/addons.c
+++ b/dlls/appwiz.cpl/addons.c
@@ -53,7 +53,7 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
 
-#define GECKO_VERSION "1.9"
+#define GECKO_VERSION "2.20-beta1"
 
 #ifdef __i386__
 #define ARCH_STRING "x86"
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 647566f..0bae46c 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.20-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,7 @@ typedef nsISupports nsIDOMBlob;
 typedef nsISupports nsIPrivacyTransitionObserver;
 typedef nsISupports nsIDOMHTMLPropertiesCollection;
 typedef nsISupports mozIDOMApplication;
+typedef nsISupports nsILoadGroupConnectionInfo;
 
 typedef void *JSContext;
 typedef void *JSObject;
@@ -226,7 +224,7 @@ interface nsIFactory : nsISupports
 
 [
     object,
-    uuid(59e7e77a-38e4-11d4-8cf5-0060b0fc14a3),
+    uuid(6aef11c4-8615-44a6-9711-98f43805693d),
     local
 ]
 interface nsIMemory : nsISupports
@@ -236,6 +234,7 @@ interface nsIMemory : nsISupports
     void Free(void *_ptr);
     nsresult HeapMinimize(bool immediate);
     nsresult IsLowMemory(bool *_retval);
+    nsresult IsLowMemoryPlatform(bool *_retval);
 }
 
 [
@@ -521,7 +520,7 @@ interface nsIStreamListener : nsIRequestObserver
 
 [
     object,
-    uuid(3de0a31c-feaf-400f-9f1e-4ef71f8b20cc),
+    uuid(19501006-46e3-4634-b97d-26eff894b4d3),
     local
 ]
 interface nsILoadGroup : nsIRequest
@@ -536,11 +535,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
@@ -557,8 +557,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);
@@ -580,7 +580,7 @@ interface nsIHttpHeaderVisitor : nsISupports
 
 [
     object,
-    uuid(9277fe09-f0cc-4cd9-bbce-581dd94b0260),
+    uuid(a01362a0-5c45-11e2-bcfd-0800200c9a66),
     local
 ]
 interface nsIHttpChannel : nsIChannel
@@ -604,11 +604,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
@@ -632,6 +633,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);
 }
 
 [
@@ -673,7 +678,7 @@ interface nsIChannelEventSink : nsISupports
 
 [
     object,
-    uuid(a6cf906d-15b3-11d2-932e-00805f8add32),
+    uuid(9472bf0f-2d1c-415c-90fd-f4260678b73b),
     local
 ]
 interface nsIDOMLocation : nsISupports
@@ -698,6 +703,7 @@ interface nsIDOMLocation : nsISupports
     nsresult Replace(const nsAString *url);
     nsresult Assign(const nsAString *url);
     nsresult ToString(nsAString *_retval);
+    nsresult ValueOf(nsIDOMLocation **_retval);
 }
 
 [
@@ -788,14 +794,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);
 }
 
 [
@@ -919,7 +936,7 @@ interface nsIDOMClientRect : nsISupports
 
 [
     object,
-    uuid(69d44ce2-b544-49a8-bb5f-87804b971ee4),
+    uuid(f1465e67-577f-4546-a7a3-bb1293c0dd15),
     local
 ]
 interface nsIDOMElement : nsIDOMNode
@@ -939,9 +956,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);
@@ -1002,14 +1019,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);
@@ -1056,20 +1073,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),
@@ -1118,7 +1121,7 @@ interface nsIDOMDocumentFragment : nsIDOMNode
 
 [
     object,
-    uuid(b7e90442-74d6-494e-af01-906d95926dec),
+    uuid(9b93f82b-9691-4021-8f45-1bf505db77ba),
     local
 ]
 interface nsIDOMDocument : nsIDOMNode
@@ -1141,6 +1144,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,
@@ -1180,6 +1184,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);
@@ -1191,21 +1196,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);
@@ -1341,7 +1345,7 @@ interface nsIDOMWindowCollection : nsISupports
 
 [
     object,
-    uuid(7afa38e6-45a1-4f0b-ae84-997669d14059),
+    uuid(8d86d6b2-fc2c-416a-8085-f670d5a35832),
     local
 ]
 interface nsIDOMWindow : nsISupports
@@ -1381,7 +1385,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);
@@ -1409,6 +1413,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);
@@ -1419,8 +1424,6 @@ interface nsIDOMWindow : nsISupports
     nsresult GetContent(nsIDOMWindow **aContent);
     nsresult GetPrompter(nsIPrompt **aPrompter);
     nsresult GetClosed(bool *aClosed);
-    nsresult GetCrypto(nsIDOMCrypto **aCrypto);
-    nsresult GetPkcs11(nsIDOMPkcs11 **aPkcs11);
     nsresult GetControllers(nsIControllers **aControllers);
     nsresult GetDefaultStatus(nsAString *aDefaultStatus);
     nsresult SetDefaultStatus(const nsAString *aDefaultStatus);
@@ -1449,7 +1452,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);
@@ -1569,7 +1571,7 @@ interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
 
 [
     object,
-    uuid(e59a4df5-0904-414d-9203-9af2790698ea),
+    uuid(83984fd0-b0b2-11e1-afa6-0800200c9a66),
     local
 ]
 interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
@@ -1604,6 +1606,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);
@@ -1641,6 +1645,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);
@@ -1690,7 +1696,7 @@ interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement
 
 [
     object,
-    uuid(429b041b-06df-486c-9a3a-a1d901cc76a2),
+    uuid(4173cc53-30f6-4d12-a770-981ba53164e2),
     local
 ]
 interface nsIDOMHTMLOptionsCollection : nsISupports
@@ -1701,7 +1707,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);
@@ -1870,7 +1875,7 @@ interface nsIDOMHTMLImageElement : nsIDOMHTMLElement
 
 [
     object,
-    uuid(68f49f8f-5ffd-44eb-a59f-d2b3f4817299),
+    uuid(1339c36e-23ad-4047-a04c-1702e27c7c83),
     local
 ]
 interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement
@@ -1881,6 +1886,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);
@@ -2232,7 +2239,7 @@ typedef void* nativeWindow;
 
 [
     object,
-    uuid(9da319f3-eee6-4504-81a5-6a19cf6215bf),
+    uuid(9da319f3-eee6-4504-81a5-6A19cf6215bf),
     local
 ]
 interface nsIBaseWindow : nsISupports
@@ -2593,7 +2600,7 @@ interface nsIComponentManager : nsISupports
 
 [
     object,
-    uuid(7df46a54-d8b0-448e-903c-4341a1b2499c),
+    uuid(55d25e49-793f-4727-a69f-de8b15f4b985),
     local
 ]
 interface nsIPrefBranch : nsISupports
@@ -2643,7 +2650,7 @@ interface nsIDirectoryServiceProvider2 : nsIDirectoryServiceProvider
 
 [
     object,
-    uuid(15fd6940-8ea7-11d3-93ad-00104ba0fd40),
+    uuid(f5753fec-a051-4ddc-8891-11f1f1575072),
     local
 ]
 interface nsIProtocolHandler : nsISupports
@@ -2772,7 +2779,7 @@ interface nsIDOMEventTarget : nsISupports
 
 [
     object,
-    uuid(270c945b-8a65-4170-bc0b-4ec1443cd39f),
+    uuid(c939eab8-1345-4344-875b-e0f2d8d89171),
     local
 ]
 interface nsIDOMEvent : nsISupports
@@ -2799,14 +2806,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(7cd26372-d2e2-463a-bce3-3f02d4b23fa8),
     local
 ]
 interface nsIDOMWindowUtils : nsISupports
@@ -2821,7 +2828,9 @@ 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,
@@ -2864,6 +2873,7 @@ interface nsIDOMWindowUtils : nsISupports
     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);
@@ -2891,7 +2901,7 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult ResumeTimeouts();
     nsresult GetLayerManagerType(nsAString *aLayerManagerType);
     nsresult StartFrameTimeRecording();
-    nsresult StopFrameTimeRecording(uint32_t *frameCount, float **frameTime);
+    nsresult StopFrameTimeRecording(float **paintTimes, uint32_t *frameCount, float **frameTime);
     nsresult BeginTabSwitch();
     nsresult GetDisplayDPI(float *aDisplayDPI);
     nsresult GetOuterWindowWithId(uint64_t aOuterWindowID, nsIDOMWindow **_retval);
@@ -2929,6 +2939,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")
@@ -2951,7 +2962,7 @@ interface nsIContextMenuListener : nsISupports
 
 [
     object,
-    uuid(415453e6-132a-4902-9a99-cc480f0311b6),
+    uuid(d73852f8-7bd6-477d-8233-117dbf83860b),
     local
 ]
 interface nsIDOMUIEvent : nsIDOMEvent
@@ -2974,7 +2985,7 @@ interface nsIDOMUIEvent : nsIDOMEvent
 
 [
     object,
-    uuid(796c3436-5f89-4145-be3a-49808c09fdc6),
+    uuid(afb2e57b-2822-4969-b2a9-0cada6859534),
     local
 ]
 interface nsIDOMMouseEvent : nsIDOMUIEvent
@@ -3009,7 +3020,7 @@ interface nsIDOMMouseEvent : nsIDOMUIEvent
 
 [
     object,
-    uuid(5d116380-8432-48cb-a717-200f04c39d2f),
+    uuid(ffbe684c-ca90-4b58-aa8c-9727f997f86d),
     local
 ]
 interface nsIDOMKeyEvent : nsIDOMUIEvent
@@ -3215,7 +3226,7 @@ interface nsIContent : nsISupports
 
 [
     object,
-    uuid(0e1324c9-c997-447e-bcd9-a657802991e4),
+    uuid(ff03d72f-87cd-4d11-818d-a8b4f5981a10),
     local
 ]
 interface nsIDocument : nsISupports
@@ -3249,7 +3260,7 @@ interface nsIContentSerializer : nsISupports
 
 [
     object,
-    uuid(12efa18c-920a-47cd-94a1-4052f245f76c),
+    uuid(753b38d1-ee03-4e58-a650-1076ccccdb7f),
     local
 ]
 interface nsIEditor  : nsISupports
@@ -3324,8 +3335,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);
@@ -3404,7 +3415,7 @@ interface nsIHTMLEditor : nsISupports
 
 [
     object,
-    uuid(318ce516-3f7a-41f6-8f3d-3661650f7a46),
+    uuid(fc7e18cd-c671-4d78-a022-7de87555e15f),
     local
 ]
 interface nsIDocShell : nsISupports
@@ -3413,15 +3424,15 @@ interface nsIDocShell : nsISupports
     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);
@@ -3483,6 +3494,7 @@ interface nsIDocShell : nsISupports
     nsresult SetChildOffset(uint32_t offset);
     nsresult GetIsInUnload(bool *aIsInUnload);
     nsresult GetChannelIsUnsafe(bool *aChannelIsUnsafe);
+    nsresult GetHasMixedActiveContentLoaded(bool *aHasMixedActiveContentLoaded);
     void DetachEditorFromWindow();
     nsresult GetIsOffScreenBrowser(bool *aIsOffScreenBrowser);
     nsresult SetIsOffScreenBrowser(bool aIsOffScreenBrowser);
@@ -3518,6 +3530,8 @@ interface nsIDocShell : nsISupports
     bool PluginsAllowedInCurrentDoc();
     nsresult GetFullscreenAllowed(bool *aFullscreenAllowed);
     nsresult SetFullscreenAllowed(bool allowed);
+    nsresult GetAffectPrivateSessionLifetime(bool *aAffectPrivateSessionLifetime);
+    nsresult SetAffectPrivateSessionLifetime(bool aAffectPrivateSessionLifetime);
 }
 
 [
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index 1e8f1bb..8293098 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