Wine Gecko 2.36-beta1

Jacek Caban jacek at codeweavers.com
Wed Jan 21 09:01:42 CST 2015


Hi all,

I just uploaded new Wine Gecko beta packages. This time it's based on
Firefox 36 beta branch, so it should be pretty stable. To test it please
use the attached patch. That's all you need, Wine will download Gecko
automatically. Packages are also available on Wine SourceForge if you
prefer to download it manually.

All testing is appreciated. Regressions and build problems are most
important, but all feedback is welcomed.

I'm also sending this announcement mingw-w64 mailing list. I know that
some distro package maintainers that maintain Wine Gecko packages read
it. Beta releases are a good chance to make sure that it builds with
toolchains available in distros. Note that the package requires very
recent mingw-w64 Git version. A new release on mingw-w64 is planned, so
hopefully it will be out before final Wine Gecko release (which is
expected in 5-6 weeks).

Thanks,
Jacek
-------------- next part --------------
commit 909c658ef1158dff104d5e37680a492020b8d954
Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jan 21 15:50:40 2015 +0100

    mshtml: Wine Gecko 2.36-beta1 release.

diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c
index 3a7d35d..e79a4b6 100644
--- a/dlls/appwiz.cpl/addons.c
+++ b/dlls/appwiz.cpl/addons.c
@@ -52,14 +52,14 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
 
-#define GECKO_VERSION "2.34"
+#define GECKO_VERSION "2.36-beta1"
 
 #ifdef __i386__
 #define ARCH_STRING "x86"
-#define GECKO_SHA "e9646cf9d683a6f4e254bcff3864a863fe8287e9"
+#define GECKO_SHA "0777ed465df2dacbe5b4413d7d3bd7569645a739"
 #elif defined(__x86_64__)
 #define ARCH_STRING "x86_64"
-#define GECKO_SHA "2b4274f7c3b22b74c35ebc0423bb943597af3945"
+#define GECKO_SHA "1ac4c9b96e6ae594328aa065d7b19731d7e2d130"
 #else
 #define ARCH_STRING ""
 #define GECKO_SHA "???"
diff --git a/dlls/mshtml/nsiface.idl b/dlls/mshtml/nsiface.idl
index 1d8e263..acbc18d 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 \"2.34\"")
+cpp_quote("#define GECKO_VERSION \"2.36-beta1\"")
 cpp_quote("#define GECKO_VERSION_STRING \"Wine Gecko \" GECKO_VERSION")
 
 import "wtypes.idl";
@@ -596,7 +596,7 @@ interface nsIHttpHeaderVisitor : nsISupports
 
 [
     object,
-    uuid(1bc753ad-5b88-454d-b4c0-4fd34cce6d96),
+    uuid(82083578-fb78-4f9a-953c-cecbae500697),
     local
 ]
 interface nsIHttpChannel : nsIChannel
@@ -605,6 +605,8 @@ interface nsIHttpChannel : nsIChannel
     nsresult SetRequestMethod(const nsACString *aRequestMethod);
     nsresult GetReferrer(nsIURI **aReferrer);
     nsresult SetReferrer(nsIURI *aReferrer);
+    nsresult GetReferrerPolicy(uint32_t *aReferrerPolicy);
+    nsresult SetReferrerWithPolicy(nsIURI *referrer, uint32_t referrerPolicy);
     nsresult GetRequestHeader(const nsACString *aHeader, nsACString *_retval);
     nsresult SetRequestHeader(const nsACString *aHeader, const nsACString *aValue, bool aMerge);
     nsresult VisitRequestHeaders(nsIHttpHeaderVisitor *aVisitor);
@@ -627,7 +629,7 @@ interface nsIHttpChannel : nsIChannel
 
 [
     object,
-    uuid(a4bf4fc5-b5a9-4098-bd20-409d71bf18e6),
+    uuid(62a8d6e2-3418-4c6f-9d90-88573838f6dd),
     local
 ]
 interface nsIHttpChannelInternal : nsISupports
@@ -658,9 +660,11 @@ interface nsIHttpChannelInternal : nsISupports
     nsresult SetLoadUnblocked(bool aLoadUnblocked);
     nsresult GetResponseTimeoutEnabled(bool *aResponseTimeoutEnabled);
     nsresult SetResponseTimeoutEnabled(bool aResponseTimeoutEnabled);
-    nsresult GetApiRedirectToURI(nsIURI * *aApiRedirectToURI);
+    nsresult GetApiRedirectToURI(nsIURI **aApiRedirectToURI);
     nsresult AddRedirect(nsIPrincipal *aPrincipal);
     nsresult GetLastModifiedTime(PRTime *aLastModifiedTime);
+    nsresult ForceNoIntercept();
+    nsresult GetTopWindowURI(nsIURI **aTopWindowURI);
 }
 
 [
@@ -860,7 +864,7 @@ interface nsIDOMMozNamedAttrMap : nsISupports
 
 [
     object,
-    uuid(56545150-a001-484e-9ed4-cb319eebd7b3),
+    uuid(cc35b412-009b-46a3-9be0-76448f12548d),
     local
 ]
 interface nsIDOMNode : nsISupports
@@ -911,7 +915,7 @@ interface nsIDOMNode : nsISupports
     nsresult GetNamespaceURI(nsAString *aNamespaceURI);
     nsresult GetPrefix(nsAString *aPrefix);
     nsresult GetLocalName(nsAString *aLocalName);
-    nsresult HasAttributes(bool *_retval);
+    nsresult UnusedPlaceholder(bool *_retval);
     nsresult GetDOMBaseURI(nsAString *aBaseURI);
     nsresult CompareDocumentPosition(nsIDOMNode *other, uint16_t *_retval);
     nsresult GetTextContent(nsAString *aTextContent);
@@ -920,7 +924,7 @@ interface nsIDOMNode : nsISupports
     nsresult IsDefaultNamespace(const nsAString *namespaceURI, bool *_retval);
     nsresult LookupNamespaceURI(const nsAString *prefix, nsAString *_retval);
     nsresult IsEqualNode(nsIDOMNode *arg, bool *_retval);
-    nsresult SetUserData(const nsAString *key, nsIVariant *data, nsIDOMUserDataHandler *handler, nsIVariant **_retval);
+    nsresult SetUserData(const nsAString *key, nsIVariant *data, nsIVariant **_retval);
     nsresult GetUserData(const nsAString *key, nsIVariant **_retval);
     nsresult Contains(nsIDOMNode *aOther, bool *_retval);
 
@@ -930,7 +934,7 @@ interface nsIDOMNode : nsISupports
 
 [
     object,
-    uuid(a974a4d3-2ff1-445b-8b8e-0aada5d4eedc),
+    uuid(7db491e8-a3a3-4432-ad67-e6c33e24ac6d),
     local
 ]
 interface nsIDOMAttr : nsIDOMNode
@@ -960,7 +964,7 @@ interface nsIDOMClientRect : nsISupports
 
 [
     object,
-    uuid(d7de6065-1776-4f52-a776-4bbeabacbdaf),
+    uuid(6289999b-1008-4269-b42a-413ec5a9d3f4),
     local
 ]
 interface nsIDOMElement : nsIDOMNode
@@ -980,6 +984,7 @@ interface nsIDOMElement : nsIDOMNode
     nsresult RemoveAttributeNS(const nsAString *namespaceURI, const nsAString *localName);
     nsresult HasAttribute(const nsAString *name, bool *_retval);
     nsresult HasAttributeNS(const nsAString *namespaceURI, const nsAString *localName, bool *_retval);
+    nsresult HasAttributes(bool *_retval);
     nsresult GetAttributeNode(const nsAString *name, nsIDOMAttr **_retval);
     nsresult SetAttributeNode(nsIDOMAttr *newAttr, nsIDOMAttr **_retval);
     nsresult RemoveAttributeNode(nsIDOMAttr *oldAttr, nsIDOMAttr **_retval);
@@ -1030,7 +1035,7 @@ interface nsIDOMElementCSSInlineStyle : nsISupports
 
 [
     object,
-    uuid(db3352cf-04f3-4e7e-baa0-cd2f81b46328),
+    uuid(b0c42392-d0e7-4f6a-beb5-a698ce648945),
     local
 ]
 interface nsIDOMHTMLElement : nsIDOMElement
@@ -1097,7 +1102,7 @@ interface nsIDOMHTMLHeadElement : nsISupports
 
 [
     object,
-    uuid(84f72a38-1873-46f8-937c-1df22d7e7cae),
+    uuid(4109a2d2-e7af-445d-bb72-c7c9b875f35e),
     local
 ]
 interface nsIDOMCharacterData : nsIDOMNode
@@ -1115,7 +1120,7 @@ interface nsIDOMCharacterData : nsIDOMNode
 
 [
     object,
-    uuid(d14d13b4-21d5-49e2-8d59-76a24156db54),
+    uuid(67273994-6aff-4091-9de9-b788a249f783),
     local
 ]
 interface nsIDOMText : nsIDOMCharacterData
@@ -1126,7 +1131,7 @@ interface nsIDOMText : nsIDOMCharacterData
 
 [
     object,
-    uuid(e702a5d2-3aa8-4788-b048-2d3b3e6d16f2),
+    uuid(e7866ff8-b7fc-494f-87c0-fb017d8a4d30),
     local
 ]
 interface nsIDOMComment : nsIDOMCharacterData
@@ -1135,7 +1140,7 @@ interface nsIDOMComment : nsIDOMCharacterData
 
 [
     object,
-    uuid(75a237af-133e-40f0-8196-2a172867c41a),
+    uuid(48eb8d72-95bb-402e-a8fc-f2b187abcbdb),
     local
 ]
 interface nsIDOMDocumentFragment : nsIDOMNode
@@ -1146,7 +1151,7 @@ interface nsIDOMDocumentFragment : nsIDOMNode
 
 [
     object,
-    uuid(d24d1118-a527-4d5a-9c4e-fb07dfc2fc27),
+    uuid(35dc5030-dc83-4291-88a2-0906c549788e),
     local
 ]
 interface nsIDOMDocument : nsIDOMNode
@@ -1222,7 +1227,7 @@ interface nsIDOMDocument : nsIDOMNode
 
 [
     object,
-    uuid(b73be9dd-bcc8-44df-8b01-3389e277427f),
+    uuid(bd2a0a46-17e4-46ea-9e5d-6a97cf5e3b28),
     local
 ]
 interface nsIDOMHTMLDocument : nsIDOMDocument
@@ -1476,46 +1481,6 @@ interface nsIDOMWindow : nsISupports
     nsresult MozCancelRequestAnimationFrame(int32_t aHandle);
     nsresult CancelAnimationFrame(int32_t aHandle);
     nsresult GetMozAnimationStartTime(int64_t *aMozAnimationStartTime);
-    nsresult GetOnafterprint(JSContext *cx, jsval *aOnafterprint);
-    nsresult SetOnafterprint(JSContext *cx, const jsval *aOnafterprint);
-    nsresult GetOnbeforeprint(JSContext *cx, jsval *aOnbeforeprint);
-    nsresult SetOnbeforeprint(JSContext *cx, const jsval *aOnbeforeprint);
-    nsresult GetOnbeforeunload(JSContext *cx, jsval *aOnbeforeunload);
-    nsresult SetOnbeforeunload(JSContext *cx, const jsval *aOnbeforeunload);
-    nsresult GetOnhashchange(JSContext *cx, jsval *aOnhashchange);
-    nsresult SetOnhashchange(JSContext *cx, const jsval *aOnhashchange);
-    nsresult GetOnlanguagechange(JSContext *cx, jsval *aOnlanguagechange);
-    nsresult SetOnlanguagechange(JSContext *cx, const jsval *aOnlanguagechange);
-    nsresult GetOnmessage(JSContext *cx, jsval *aOnmessage);
-    nsresult SetOnmessage(JSContext *cx, const jsval *aOnmessage);
-    nsresult GetOnoffline(JSContext *cx, jsval *aOnoffline);
-    nsresult SetOnoffline(JSContext *cx, const jsval *aOnoffline);
-    nsresult GetOnonline(JSContext *cx, jsval *aOnonline);
-    nsresult SetOnonline(JSContext *cx, const jsval *aOnonline);
-    nsresult GetOnpopstate(JSContext *cx, jsval *aOnpopstate);
-    nsresult SetOnpopstate(JSContext *cx, const jsval *aOnpopstate);
-    nsresult GetOnpagehide(JSContext *cx, jsval *aOnpagehide);
-    nsresult SetOnpagehide(JSContext *cx, const jsval *aOnpagehide);
-    nsresult GetOnpageshow(JSContext *cx, jsval *aOnpageshow);
-    nsresult SetOnpageshow(JSContext *cx, const jsval *aOnpageshow);
-    nsresult GetOnresize(JSContext *cx, jsval *aOnresize);
-    nsresult SetOnresize(JSContext *cx, const jsval *aOnresize);
-    nsresult GetOnunload(JSContext *cx, jsval *aOnunload);
-    nsresult SetOnunload(JSContext *cx, const jsval *aOnunload);
-    nsresult GetOndevicemotion(JSContext *cx, jsval *aOndevicemotion);
-    nsresult SetOndevicemotion(JSContext *cx, const jsval *aOndevicemotion);
-    nsresult GetOndeviceorientation(JSContext *cx, jsval *aOndeviceorientation);
-    nsresult SetOndeviceorientation(JSContext *cx, const jsval *aOndeviceorientation);
-    nsresult GetOndeviceproximity(JSContext* cx, jsval *aOndeviceproximity);
-    nsresult SetOndeviceproximity(JSContext* cx, const jsval *aOndeviceproximity);
-    nsresult GetOnuserproximity(JSContext* cx, jsval *aOndeviceproximity);
-    nsresult SetOnuserproximity(JSContext* cx, const jsval *aOndeviceproximity);
-    nsresult GetOndevicelight(JSContext* cx, jsval *aOndevicelight);
-    nsresult SetOndevicelight(JSContext* cx, const jsval *aOndevicelight);
-    nsresult GetOnmouseenter(JSContext* cx, jsval *aOnmouseenter);
-    nsresult SetOnmouseenter(JSContext* cx, const jsval *aOnmouseenter);
-    nsresult GetOnmouseleave(JSContext* cx, jsval *aOnmouseleave);
-    nsresult SetOnmouseleave(JSContext* cx, const jsval *aOnmouseleave);
     nsresult GetConsole(JSContext *cx, jsval *aConsole);
     nsresult SetConsole(JSContext *cx, const jsval *aConsole);
 }
@@ -1845,7 +1810,7 @@ interface nsIDOMHTMLTextAreaElement : nsISupports
 
 [
     object,
-    uuid(4627336e-3070-4e73-8f67-3851b54cc0eb),
+    uuid(fe96dc1c-40e4-4974-9354-e3fce663c3d5),
     local
 ]
 interface nsIDOMHTMLScriptElement : nsISupports
@@ -1866,13 +1831,11 @@ interface nsIDOMHTMLScriptElement : nsISupports
     nsresult SetHtmlFor(const nsAString *aHtmlFor);
     nsresult GetEvent(nsAString *aEvent);
     nsresult SetEvent(const nsAString *aEvent);
-    nsresult GetCrossOrigin(nsAString *aCrossOrigin);
-    nsresult SetCrossOrigin(const nsAString *aCrossOrigin);
 }
 
 [
     object,
-    uuid(e83e726a-0aef-4292-938b-253fec691e2f),
+    uuid(ec18e71c-4f5c-4cc3-aa36-5273168644dc),
     local
 ]
 interface nsIDOMHTMLImageElement : nsISupports
@@ -1885,8 +1848,6 @@ interface nsIDOMHTMLImageElement : nsISupports
     nsresult SetSrcset(const nsAString *aSrcset) ;
     nsresult GetSizes(nsAString *aSizes);
     nsresult SetSizes(const nsAString *aSizes);
-    nsresult GetCrossOrigin(nsAString *aCrossOrigin);
-    nsresult SetCrossOrigin(const nsAString *aCrossOrigin);
     nsresult GetUseMap(nsAString *aUseMap);
     nsresult SetUseMap(const nsAString *aUseMap);
     nsresult GetIsMap(bool *aIsMap);
@@ -1969,7 +1930,7 @@ interface nsIDOMHTMLAnchorElement : nsISupports
 
 [
     object,
-    uuid(95d6ec66-2754-45bd-a068-49ac1fb45004),
+    uuid(ee50b7ab-0015-4fbe-89e0-e3feacd4ffde),
     local
 ]
 interface nsIDOMHTMLLinkElement : nsISupports
@@ -1992,8 +1953,6 @@ interface nsIDOMHTMLLinkElement : nsISupports
     nsresult SetTarget(const nsAString *aTarget);
     nsresult GetType(nsAString *aType);
     nsresult SetType(const nsAString *aType);
-    nsresult GetCrossOrigin(nsAString *aCrossOrigin);
-    nsresult SetCrossOrigin(const nsAString *aCrossOrigin);
 }
 
 [
@@ -2726,7 +2685,7 @@ interface nsIDirectoryServiceProvider2 : nsIDirectoryServiceProvider
 
 [
     object,
-    uuid(f5753fec-a051-4ddc-8891-11f1f1575072),
+    uuid(a7aad716-e72c-435d-82f1-7582dffae661),
     local
 ]
 interface nsIProtocolHandler : nsISupports
@@ -2736,6 +2695,7 @@ interface nsIProtocolHandler : nsISupports
     nsresult GetProtocolFlags(uint32_t *aProtocolFlags);
     nsresult NewURI(const nsACString *aSpec, const char *aOriginCharset,
                     nsIURI *aBaseURI, nsIURI **_retval);
+    nsresult NewChannel2(nsIURI *aURI, nsILoadInfo *aLoadinfo, nsIChannel **_retval);
     nsresult NewChannel(nsIURI *aURI, nsIChannel **_retval);
     nsresult AllowPort(int32_t port, const char *scheme, bool *_retval);
 }
@@ -2752,7 +2712,7 @@ interface nsIExternalProtocolHandler : nsIProtocolHandler
 
 [
     object,
-    uuid(bddeda3f-9020-4d12-8c70-984ee9f7935e),
+    uuid(d8555f58-203a-465a-a33e-442ae4c6c4cf),
     local
 ]
 interface nsIIOService : nsISupports
@@ -2762,11 +2722,20 @@ interface nsIIOService : nsISupports
     nsresult NewURI(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
                     nsIURI **_retval);
     nsresult NewFileURI(nsIFile *aFile, nsIURI **_retval);
+    nsresult NewChannelFromURI2(nsIURI *aURI, nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal,
+            nsIPrincipal *aTriggeringPrincipal, uint32_t aSecurityFlags, uint32_t aContentPolicyType,
+            nsIChannel **_retval);
     nsresult NewChannelFromURI(nsIURI *aURI, nsIChannel **_retval);
+    nsresult NewChannel2(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
+            nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal, nsIPrincipal *aTriggeringPrincipal,
+            uint32_t aSecurityFlags, uint32_t aContentPolicyType, nsIChannel **_retval);
     nsresult NewChannel(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
                         nsIChannel **_retval);
     nsresult GetOffline(bool *aOffline);
     nsresult SetOffline(bool aOffline);
+    nsresult SetAppOffline(uint32_t appId, int32_t state);
+    nsresult IsAppOffline(uint32_t appId, bool *_retval);
+    nsresult GetAppOfflineState(uint32_t appId, int32_t *_retval);
     nsresult AllowPort(int32_t aPort, const char *aScheme, bool *_retval);
     nsresult ExtractScheme(const nsACString *urlString, nsACString *_retval);
 }
@@ -2889,7 +2858,7 @@ interface nsIDOMEvent : nsISupports
 
 [
     object,
-    uuid(11911980-607c-4efd-aacc-de3b9005c058),
+    uuid(9621eb05-b498-4e87-a012-95d817987624),
     local
 ]
 interface nsIDOMWindowUtils : nsISupports
@@ -2900,6 +2869,7 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult GetCursorType(int16_t *_retval);
     nsresult GetDocumentMetadata(const nsAString *aName, nsAString *_retval);
     nsresult Redraw(uint32_t aCount, uint32_t *_retval);
+    nsresult UpdateLayerTree();
     nsresult SetCSSViewport(float aWidthPx, float aHeightPx);
     nsresult GetViewportInfo(uint32_t aDisplayWidth, uint32_t aDisplayHeight, double *aDefaultZoom, bool *aAllowZoom,
             double *aMinZoom, double *aMaxZoom, uint32_t *aWidth, uint32_t *aHeight, bool *aAutoSize);
@@ -3022,6 +2992,7 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult GetMayHaveTouchEventListeners(bool *aMayHaveTouchEventListeners);
     nsresult CheckAndClearPaintedState(nsIDOMElement *aElement, bool *_retval);
     nsresult GetFileId(const /*JS::Value*/ void *aFile, JSContext *cx, int64_t *_retval);
+    nsresult GetFilePath(void /*JS::HandleValue*/ *aFile, JSContext *cx, nsAString *_retval);
     nsresult GetFileReferences(const nsAString *aDatabaseName, int64_t aId, void /*JS::HandleValue*/ *aOptions,
            int32_t *aRefCnt, int32_t *aDBRefCnt, int32_t *aSliceRefCnt, JSContext* cx, bool *_retval);
     nsresult IsIncrementalGCEnabled(JSContext *cx, bool *_retval);
@@ -3039,8 +3010,10 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult EnableDialogs();
     nsresult AreDialogsEnabled(bool *_retval);
     nsresult LoadSheet(nsIURI *sheetURI, uint32_t type);
+    nsresult LoadSheetUsingURIString(const nsACString *sheetURI, uint32_t type);
     nsresult AddSheet(nsIDOMStyleSheet *sheet, uint32_t type);
     nsresult RemoveSheet(nsIURI *sheetURI, uint32_t type);
+    nsresult  RemoveSheetUsingURIString(const nsACString *sheetURI, uint32_t type);
     nsresult GetIsHandlingUserInput(bool *aIsHandlingUserInput);
     nsresult AllowScriptsToClose();
     nsresult GetIsParentWindowMainWidgetVisible(bool *aIsParentWindowMainWidgetVisible);
@@ -3050,6 +3023,7 @@ interface nsIDOMWindowUtils : nsISupports
     nsresult RunInStableState(nsIRunnable *runnable);
     nsresult RunBeforeNextEvent(nsIRunnable *runnable);
     nsresult GetOMTAStyle(nsIDOMElement *aElement, const nsAString *aProperty, nsAString *_retval);
+    nsresult RequestCompositorProperty(const nsAString *aProperty, float *_retval);
     nsresult SetHandlingUserInput(bool aHandlingInput, void /*nsIJSRAIIHelper*/ **_retval);
     nsresult GetContentAPZTestData(JSContext *cx, int /*JS::MutableHandleValue*/ _retval);
     nsresult GetCompositorAPZTestData(JSContext *cx, void /*JS::MutableHandleValue*/ *_retval);
@@ -3360,7 +3334,7 @@ interface nsIContent : nsISupports
 
 [
     object,
-    uuid(613ea294-0288-48b4-9e7b-0fe93f8cf895),
+    uuid(f63d2f6e-d1c1-49b9-8826-d59e5d722a42),
     local
 ]
 interface nsIDocument : nsISupports
@@ -3394,12 +3368,13 @@ interface nsIContentSerializer : nsISupports
 
 [
     object,
-    uuid(04714a01-e02f-4ef5-a388-612451d0db16),
+    uuid(a1ddae68-35d0-11e4-9329-cb55463f21c9),
     local
 ]
 interface nsIEditor  : nsISupports
 {
     nsresult GetSelection([out] nsISelection *_retval);
+    nsresult FinalizeSelection();
     nsresult Init([in] nsIDOMDocument *doc, nsIContent *aRoot, nsISelectionController *aSelCon, uint32_t aFlags, nsAString *initialValue);
     nsresult SetAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] const nsAString *sourceAttrValue, [in] bool aSuppressTransaction);
     nsresult RemoveAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] bool aSuppressTransaction);
@@ -3672,7 +3647,7 @@ interface nsIContentViewer : nsISupports
 
 [
     object,
-    uuid(3646c915-df79-4500-8b57-c65ab9c3b39f),
+    uuid(c2756385-bc54-417b-9ae4-c5a40053a2a3),
     local
 ]
 interface nsIDocShell : nsIDocShellTreeItem
@@ -3680,9 +3655,10 @@ 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, nsACString *aFileName, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream,
-            uint32_t aLoadFlags, nsISHEntry *aSHEntry, bool firstParty, const nsAString *aSrcdoc, nsIDocShell *aSourceDocShell,
+    nsresult InternalLoad(nsIURI *aURI, nsIURI *aReferrer, uint32_t aReferrerPolicy, nsISupports *aOwner,
+            uint32_t aFlags, const PRUnichar *aWindowTarget, const char *aTypeHint, nsACString *aFileName,
+            nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags,
+            nsISHEntry *aSHEntry, bool firstParty, const nsAString *aSrcdoc, nsIDocShell *aSourceDocShell,
             nsIURI *aBaseURI, nsIDocShell **aDocShell, nsIRequest **aRequest);
     nsresult AddState(jsval *aData, const nsAString *aTitle, const nsAString *aURL, bool aReplace, JSContext *cx);
     nsresult CreateLoadInfo(nsIDocShellLoadInfo **loadInfo);
@@ -3782,8 +3758,10 @@ interface nsIDocShell : nsIDocShellTreeItem
     nsresult SetForcedCharset(nsIAtom *aForcedCharset);
     void SetParentCharset(const nsACString *parentCharset, int32_t parentCharsetSource, nsIPrincipal *parentCharsetPrincipal);
     void GetParentCharset(nsACString *parentCharset, int32_t *parentCharsetSource, nsIPrincipal **parentCharsetPrincipal);
-    nsresult GetParentCharsetSource(int32_t *aParentCharsetSource);
-    nsresult SetParentCharsetSource(int32_t aParentCharsetSource);
+    nsresult GetRecordProfileTimelineMarkers(bool *aRecordProfileTimelineMarkers);
+    nsresult SetRecordProfileTimelineMarkers(bool aRecordProfileTimelineMarkers);
+    nsresult Now(int /* DOMHighResTimeStamp */ *_retval);
+    nsresult PopProfileTimelineMarkers(JSContext *cx, void /*JS::MutableHandleValue*/ *_retval);
     nsresult AddWeakPrivacyTransitionObserver(nsIPrivacyTransitionObserver *obs);
     nsresult AddWeakReflowObserver(nsISupports /*nsIReflowObserver*/ *obs);
     nsresult RemoveWeakReflowObserver(nsISupports /*nsIReflowObserver*/ *obs);
@@ -3837,10 +3815,14 @@ interface nsIDocShell : nsIDocShellTreeItem
     nsresult GetDeviceSizeIsPageSize(bool *aDeviceSizeIsPageSize);
     nsresult SetDeviceSizeIsPageSize(bool aDeviceSizeIsPageSize);
     void /* thiscall */ SetOpener(void /*nsITabParent*/ *aOpener);
-    void /* thiscall nsITabParent */ *GetOpener(void) = 0;
+    void /* thiscall nsITabParent */ *GetOpener();
     void /* thiscall */ SetOpenedRemote(void /*nsITabParent*/ *aOpenedRemote);
     void /* thiscall nsITabParent */ *GetOpenedRemote();
-    void /*mozilla::dom::URLSearchParams */ *GetURLSearchParams(void) = 0;
+    void /*mozilla::dom::URLSearchParams */ *GetURLSearchParams();
+    void /* thiscall */ NotifyJSRunToCompletionStart();
+    void /* thiscall */ NotifyJSRunToCompletionStop();
+    nsresult GetHasLoadedNonBlankURI(bool *aHasLoadedNonBlankURI);
+
 }
 
 [
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index d8e1712..90910e6 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -1262,6 +1262,20 @@ static nsresult NSAPI nsChannel_SetReferrer(nsIHttpChannel *iface, nsIURI *aRefe
     return NS_OK;
 }
 
+static nsresult NSAPI nsChannel_GetReferrerPolicy(nsIHttpChannel *iface, UINT32 *aReferrerPolicy)
+{
+    nsChannel *This = impl_from_nsIHttpChannel(iface);
+    FIXME("(%p)->(%p)\n", This, aReferrerPolicy);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+static nsresult NSAPI nsChannel_SetReferrerWithPolicy(nsIHttpChannel *iface, nsIURI *aReferrer, UINT32 aReferrerPolicy)
+{
+    nsChannel *This = impl_from_nsIHttpChannel(iface);
+    FIXME("(%p)->(%p %x)\n", This, aReferrer, aReferrerPolicy);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
 static nsresult NSAPI nsChannel_GetRequestHeader(nsIHttpChannel *iface,
          const nsACString *aHeader, nsACString *_retval)
 {
@@ -1489,6 +1503,8 @@ static const nsIHttpChannelVtbl nsChannelVtbl = {
     nsChannel_SetRequestMethod,
     nsChannel_GetReferrer,
     nsChannel_SetReferrer,
+    nsChannel_GetReferrerPolicy,
+    nsChannel_SetReferrerWithPolicy,
     nsChannel_GetRequestHeader,
     nsChannel_SetRequestHeader,
     nsChannel_VisitRequestHeaders,
@@ -1861,6 +1877,20 @@ static nsresult NSAPI nsHttpChannelInternal_GetLastModifiedTime(nsIHttpChannelIn
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
+static nsresult NSAPI nsHttpChannelInternal_ForceNoIntercept(nsIHttpChannelInternal *iface)
+{
+    nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
+    FIXME("(%p)\n", This);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
+static nsresult NSAPI nsHttpChannelInternal_GetTopWindowURI(nsIHttpChannelInternal *iface, nsIURI **aTopWindowURI)
+{
+    nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
+    FIXME("(%p)->(%p)\n", This, aTopWindowURI);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
 static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = {
     nsHttpChannelInternal_QueryInterface,
     nsHttpChannelInternal_AddRef,
@@ -1893,7 +1923,9 @@ static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = {
     nsHttpChannelInternal_SetResponseTimeoutEnabled,
     nsHttpChannelInternal_GetApiRedirectToURI,
     nsHttpChannelInternal_AddRedirect,
-    nsHttpChannelInternal_GetLastModifiedTime
+    nsHttpChannelInternal_GetLastModifiedTime,
+    nsHttpChannelInternal_ForceNoIntercept,
+    nsHttpChannelInternal_GetTopWindowURI
 };
 
 
@@ -3327,6 +3359,18 @@ static nsresult NSAPI nsProtocolHandler_NewURI(nsIProtocolHandler *iface,
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
+static nsresult NSAPI nsProtocolHandler_NewChannel2(nsIProtocolHandler *iface,
+        nsIURI *aURI, nsILoadInfo *aLoadInfo, nsIChannel **_retval)
+{
+    nsProtocolHandler *This = impl_from_nsIProtocolHandler(iface);
+
+    TRACE("(%p)->(%p %p %p)\n", This, aURI, aLoadInfo, _retval);
+
+    if(This->nshandler)
+        return nsIProtocolHandler_NewChannel2(This->nshandler, aURI, aLoadInfo, _retval);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
 static nsresult NSAPI nsProtocolHandler_NewChannel(nsIProtocolHandler *iface,
         nsIURI *aURI, nsIChannel **_retval)
 {
@@ -3359,6 +3403,7 @@ static const nsIProtocolHandlerVtbl nsProtocolHandlerVtbl = {
     nsProtocolHandler_GetDefaultPort,
     nsProtocolHandler_GetProtocolFlags,
     nsProtocolHandler_NewURI,
+    nsProtocolHandler_NewChannel2,
     nsProtocolHandler_NewChannel,
     nsProtocolHandler_AllowPort
 };
@@ -3520,6 +3565,15 @@ static nsresult NSAPI nsIOService_NewFileURI(nsIIOService *iface, nsIFile *aFile
     return nsIIOService_NewFileURI(nsio, aFile, _retval);
 }
 
+static nsresult NSAPI nsIOService_NewChannelFromURI2(nsIIOService *iface, nsIURI *aURI,
+        nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal, nsIPrincipal *aTriggeringPrincipal,
+        UINT32 aSecurityFlags, UINT32 aContentPolicyType, nsIChannel **_retval)
+{
+    FIXME("(%p %p %p %p %x %d %p)\n", aURI, aLoadingNode, aLoadingPrincipal, aTriggeringPrincipal,
+          aSecurityFlags, aContentPolicyType, _retval);
+    return NS_ERROR_NOT_IMPLEMENTED;
+}
+
 static nsresult NSAPI nsIOService_NewChannelFromURI(nsIIOService *iface, nsIURI *aURI,
                                                      nsIChannel **_retval)
 {
@@ -3547,6 +3601,16 @@ static nsresult NSAPI nsIOService_NewChannelFromURI(nsIIOService *iface, nsIURI
     return NS_OK;
 }
 
+static nsresult NSAPI nsIOService_NewChannel2(nsIIOService *iface, const nsACString *aSpec,
+        const char *aOriginCharset, nsIURI *aBaseURI, nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal,
+         nsIPrincipal *aTriggeringPrincipal, UINT32 aSecurityFlags, UINT32 aContentPolicyType, nsIChannel **_retval)
+{
+    TRACE("(%s %s %p %p %p %p %x %d %p)\n", debugstr_nsacstr(aSpec), debugstr_a(aOriginCharset), aBaseURI,
+          aLoadingNode, aLoadingPrincipal, aTriggeringPrincipal, aSecurityFlags, aContentPolicyType, _retval);
+    return nsIIOService_NewChannel2(nsio, aSpec, aOriginCharset, aBaseURI, aLoadingNode, aLoadingPrincipal,
+            aTriggeringPrincipal, aSecurityFlags, aContentPolicyType, _retval);
+}
+
 static nsresult NSAPI nsIOService_NewChannel(nsIIOService *iface, const nsACString *aSpec,
         const char *aOriginCharset, nsIURI *aBaseURI, nsIChannel **_retval)
 {
@@ -3566,6 +3630,24 @@ static nsresult NSAPI nsIOService_SetOffline(nsIIOService *iface, cpp_bool aOffl
     return nsIIOService_SetOffline(nsio, aOffline);
 }
 
+static nsresult NSAPI nsIOService_SetAppOffline(nsIIOService *iface, UINT32 appId, INT32 state)
+{
+    TRACE("(%d %x)\n", appId, state);
+    return nsIIOService_SetAppOffline(nsio, appId, state);
+}
+
+static nsresult NSAPI nsIOService_IsAppOffline(nsIIOService *iface, UINT32 appId, cpp_bool *_retval)
+{
+    TRACE("(%u %p)\n", appId, _retval);
+    return nsIIOService_IsAppOffline(nsio, appId, _retval);
+}
+
+static nsresult NSAPI nsIOService_GetAppOfflineState(nsIIOService *iface, UINT32 appId, INT32 *_retval)
+{
+    TRACE("(%d %p)\n", appId, _retval);
+    return nsIIOService_GetAppOfflineState(nsio, appId, _retval);
+}
+
 static nsresult NSAPI nsIOService_AllowPort(nsIIOService *iface, LONG aPort,
                                              const char *aScheme, cpp_bool *_retval)
 {
@@ -3588,10 +3670,15 @@ static const nsIIOServiceVtbl nsIOServiceVtbl = {
     nsIOService_GetProtocolFlags,
     nsIOService_NewURI,
     nsIOService_NewFileURI,
+    nsIOService_NewChannelFromURI2,
     nsIOService_NewChannelFromURI,
+    nsIOService_NewChannel2,
     nsIOService_NewChannel,
     nsIOService_GetOffline,
     nsIOService_SetOffline,
+    nsIOService_SetAppOffline,
+    nsIOService_IsAppOffline,
+    nsIOService_GetAppOfflineState,
     nsIOService_AllowPort,
     nsIOService_ExtractScheme
 };


More information about the wine-devel mailing list