Hi all, I've just uploaded a new Wine Gecko beta package. It's a bit earlier than we usually updated the package, but it's part of the plan. The last release was the most successful ever - we've successfully avoided regressions and fixed existing bugs. The fact that we had long (over month) beta period and that the release was made based on stable Firefox release helped a lot IMO. We can improve stability of Gecko package by releasing more often, meaning less changes are included in each single release. We can do this thanks to Mozilla rapid release cycles, that gives us a chance to release Wine Gecko based on the very recent code base, stabilized by Mozilla every six weeks. Six weeks releases are, however, more than we can handle and more than we need, so my current plan is to release every two Firerox version (that is every 12 weeks), with no pressure.
Back to current release, it's mostly an update of code base to keep on track with Gecko changes. Builds are available, as usually, on sourceforge [1]. To test it, you also need the attached patch to Wine. Any help with testing is appreciated. Everything that uses MSHTML in any way is worth testing. Informations for packages interested in building the package themselves: My builds are done with GCC 4.5.3, but any GCC newer than 4.5.1 should be good. There was a fix to Mozilla code needed for GCC 4.6.* builds that I've included in the source, so GCC 4.6 32-bit builds should be fine. If you want to use it for 64-bit builds, please test it carefully as I wasn't able to test them (linking GCC 4.6 builds consumes awfully lot of memory, so it failed for me). Cheers, Jacek [1] http://sourceforge.net/projects/wine/files/Wine%20Gecko/1.3-beta1/
diff --git a/dlls/appwiz.cpl/addons.c b/dlls/appwiz.cpl/addons.c index dbfd3b9..ab1f7b1 100644 --- a/dlls/appwiz.cpl/addons.c +++ b/dlls/appwiz.cpl/addons.c @@ -51,7 +51,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl); -#define GECKO_VERSION "1.2.0" +#define GECKO_VERSION "1.3-beta1" #ifdef __i386__ #define ARCH_STRING "x86" diff --git a/dlls/mshtml/htmlbody.c b/dlls/mshtml/htmlbody.c index 8789200..cbc9abf 100644 --- a/dlls/mshtml/htmlbody.c +++ b/dlls/mshtml/htmlbody.c @@ -660,7 +660,6 @@ static HRESULT WINAPI HTMLBodyElement_get_onbeforeunload(IHTMLBodyElement *iface static HRESULT WINAPI HTMLBodyElement_createTextRange(IHTMLBodyElement *iface, IHTMLTxtRange **range) { HTMLBodyElement *This = impl_from_IHTMLBodyElement(iface); - nsIDOMDocumentRange *nsdocrange; nsIDOMRange *nsrange = NULL; nsresult nsres; HRESULT hres; @@ -672,14 +671,7 @@ static HRESULT WINAPI HTMLBodyElement_createTextRange(IHTMLBodyElement *iface, I return E_UNEXPECTED; } - nsres = nsIDOMDocument_QueryInterface(This->textcont.element.node.doc->nsdoc, &IID_nsIDOMDocumentRange, - (void**)&nsdocrange); - if(NS_FAILED(nsres)) { - ERR("Could not get nsIDOMDocumentRabge iface: %08x\n", nsres); - return E_FAIL; - } - - nsres = nsIDOMDocumentRange_CreateRange(nsdocrange, &nsrange); + nsres = nsIDOMHTMLDocument_CreateRange(This->textcont.element.node.doc->nsdoc, &nsrange); if(NS_SUCCEEDED(nsres)) { nsres = nsIDOMRange_SelectNodeContents(nsrange, This->textcont.element.node.nsnode); if(NS_FAILED(nsres)) @@ -688,8 +680,6 @@ static HRESULT WINAPI HTMLBodyElement_createTextRange(IHTMLBodyElement *iface, I ERR("CreateRange failed: %08x\n", nsres); } - nsIDOMDocumentRange_Release(nsdocrange); - hres = HTMLTxtRange_Create(This->textcont.element.node.doc->basedoc.doc_node, nsrange, range); nsIDOMRange_Release(nsrange); diff --git a/dlls/mshtml/htmlcurstyle.c b/dlls/mshtml/htmlcurstyle.c index a4a7163..8bd1f16 100644 --- a/dlls/mshtml/htmlcurstyle.c +++ b/dlls/mshtml/htmlcurstyle.c @@ -892,9 +892,7 @@ static dispex_static_data_t HTMLCurrentStyle_dispex = { HRESULT HTMLCurrentStyle_Create(HTMLElement *elem, IHTMLCurrentStyle **p) { nsIDOMCSSStyleDeclaration *nsstyle; - nsIDOMDocumentView *nsdocview; - nsIDOMAbstractView *nsview; - nsIDOMViewCSS *nsviewcss; + nsIDOMWindow *nsview; nsAString nsempty_str; HTMLCurrentStyle *ret; nsresult nsres; @@ -904,29 +902,14 @@ HRESULT HTMLCurrentStyle_Create(HTMLElement *elem, IHTMLCurrentStyle **p) return E_UNEXPECTED; } - nsres = nsIDOMHTMLDocument_QueryInterface(elem->node.doc->nsdoc, &IID_nsIDOMDocumentView, (void**)&nsdocview); - if(NS_FAILED(nsres)) { - ERR("Could not get nsIDOMDocumentView: %08x\n", nsres); - return E_FAIL; - } - - nsres = nsIDOMDocumentView_GetDefaultView(nsdocview, &nsview); - nsIDOMDocumentView_Release(nsdocview); + nsres = nsIDOMHTMLDocument_GetDefaultView(elem->node.doc->nsdoc, &nsview); if(NS_FAILED(nsres)) { ERR("GetDefaultView failed: %08x\n", nsres); return E_FAIL; } - nsres = nsIDOMAbstractView_QueryInterface(nsview, &IID_nsIDOMViewCSS, (void**)&nsviewcss); - nsIDOMAbstractView_Release(nsview); - if(NS_FAILED(nsres)) { - ERR("Could not get nsIDOMViewCSS: %08x\n", nsres); - return E_FAIL; - } - nsAString_Init(&nsempty_str, NULL); - nsres = nsIDOMViewCSS_GetComputedStyle(nsviewcss, (nsIDOMElement*)elem->nselem, &nsempty_str, &nsstyle); - nsIDOMViewCSS_Release(nsviewcss); + nsres = nsIDOMWindow_GetComputedStyle(nsview, (nsIDOMElement*)elem->nselem, &nsempty_str, &nsstyle); nsAString_Finish(&nsempty_str); if(NS_FAILED(nsres)) { ERR("GetComputedStyle failed: %08x\n", nsres); diff --git a/dlls/mshtml/htmldoc3.c b/dlls/mshtml/htmldoc3.c index fcc486a..0077639 100644 --- a/dlls/mshtml/htmldoc3.c +++ b/dlls/mshtml/htmldoc3.c @@ -696,7 +696,6 @@ static HRESULT WINAPI HTMLDocument4_Invoke(IHTMLDocument4 *iface, DISPID dispIdM static HRESULT WINAPI HTMLDocument4_focus(IHTMLDocument4 *iface) { HTMLDocument *This = impl_from_IHTMLDocument4(iface); - nsIDOMNSHTMLElement *nselem; nsIDOMHTMLElement *nsbody; nsresult nsres; @@ -708,16 +707,9 @@ static HRESULT WINAPI HTMLDocument4_focus(IHTMLDocument4 *iface) return E_FAIL; } - nsres = nsIDOMHTMLElement_QueryInterface(nsbody, &IID_nsIDOMNSHTMLElement, (void**)&nselem); + nsres = nsIDOMHTMLElement_Focus(nsbody); nsIDOMHTMLElement_Release(nsbody); if(NS_FAILED(nsres)) { - ERR("Could not get nsIDOMNSHTMLElement: %08x\n", nsres); - return E_FAIL; - } - - nsres = nsIDOMNSHTMLElement_Focus(nselem); - nsIDOMNSHTMLElement_Release(nselem); - if(NS_FAILED(nsres)) { ERR("Focus failed: %08x\n", nsres); return E_FAIL; } diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index 40c8ff5..7b1eaed 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -105,7 +105,6 @@ static const tag_desc_t *get_tag_desc(const WCHAR *tag_name) HRESULT replace_node_by_html(nsIDOMHTMLDocument *nsdoc, nsIDOMNode *nsnode, const WCHAR *html) { nsIDOMDocumentFragment *nsfragment; - nsIDOMDocumentRange *nsdocrange; nsIDOMNSRange *nsrange; nsIDOMNode *nsparent; nsIDOMRange *range; @@ -113,12 +112,7 @@ HRESULT replace_node_by_html(nsIDOMHTMLDocument *nsdoc, nsIDOMNode *nsnode, cons nsresult nsres; HRESULT hres = S_OK; - nsres = nsIDOMHTMLDocument_QueryInterface(nsdoc, &IID_nsIDOMDocumentRange, (void**)&nsdocrange); - if(NS_FAILED(nsres)) - return E_FAIL; - - nsres = nsIDOMDocumentRange_CreateRange(nsdocrange, &range); - nsIDOMDocumentRange_Release(nsdocrange); + nsres = nsIDOMHTMLDocument_CreateRange(nsdoc, &range); if(NS_FAILED(nsres)) { ERR("CreateRange failed: %08x\n", nsres); return E_FAIL; @@ -1261,7 +1255,6 @@ static HRESULT WINAPI HTMLElement_insertAdjacentHTML(IHTMLElement *iface, BSTR w BSTR html) { HTMLElement *This = impl_from_IHTMLElement(iface); - nsIDOMDocumentRange *nsdocrange; nsIDOMRange *range; nsIDOMNSRange *nsrange; nsIDOMNode *nsnode; @@ -1276,14 +1269,7 @@ static HRESULT WINAPI HTMLElement_insertAdjacentHTML(IHTMLElement *iface, BSTR w return E_UNEXPECTED; } - nsres = nsIDOMDocument_QueryInterface(This->node.doc->nsdoc, &IID_nsIDOMDocumentRange, (void **)&nsdocrange); - if(NS_FAILED(nsres)) - { - ERR("getting nsIDOMDocumentRange failed: %08x\n", nsres); - return E_FAIL; - } - nsres = nsIDOMDocumentRange_CreateRange(nsdocrange, &range); - nsIDOMDocumentRange_Release(nsdocrange); + nsres = nsIDOMHTMLDocument_CreateRange(This->node.doc->nsdoc, &range); if(NS_FAILED(nsres)) { ERR("CreateRange failed: %08x\n", nsres); diff --git a/dlls/mshtml/htmlelem2.c b/dlls/mshtml/htmlelem2.c index 7f642f9..1ade2a1 100644 --- a/dlls/mshtml/htmlelem2.c +++ b/dlls/mshtml/htmlelem2.c @@ -717,18 +717,13 @@ static HRESULT WINAPI HTMLElement2_get_tabIndex(IHTMLElement2 *iface, short *p) static HRESULT WINAPI HTMLElement2_focus(IHTMLElement2 *iface) { HTMLElement *This = impl_from_IHTMLElement2(iface); - nsIDOMNSHTMLElement *nselem; nsresult nsres; TRACE("(%p)\n", This); - nsres = nsIDOMHTMLElement_QueryInterface(This->nselem, &IID_nsIDOMNSHTMLElement, (void**)&nselem); - if(NS_SUCCEEDED(nsres)) { - nsIDOMNSHTMLElement_Focus(nselem); - nsIDOMNSHTMLElement_Release(nselem); - }else { - ERR("Could not get nsIDOMHTMLNSElement: %08x\n", nsres); - } + nsres = nsIDOMHTMLElement_Focus(This->nselem); + if(NS_FAILED(nsres)) + ERR("Focus failed: %08x\n", nsres); return S_OK; } diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c index d0e8814..8c81f72 100644 --- a/dlls/mshtml/htmlevent.c +++ b/dlls/mshtml/htmlevent.c @@ -348,13 +348,15 @@ static HRESULT WINAPI HTMLEventObj_get_altKey(IHTMLEventObj *iface, VARIANT_BOOL TRACE("(%p)->(%p)\n", This, p); - if(This->nsevent) { + if(0&&This->nsevent) { nsIDOMKeyEvent *key_event; nsresult nsres; nsres = nsIDOMEvent_QueryInterface(This->nsevent, &IID_nsIDOMKeyEvent, (void**)&key_event); if(NS_SUCCEEDED(nsres)) { + ERR("key_event %p\n", key_event); nsIDOMKeyEvent_GetAltKey(key_event, &ret); + ERR("ret %x\n", ret); nsIDOMKeyEvent_Release(key_event); }else { nsIDOMMouseEvent *mouse_event; @@ -767,19 +769,12 @@ static HTMLEventObj *create_event(HTMLDOMNode *target, eventid_t eid, nsIDOMEven if(nsevent) { nsIDOMEvent_AddRef(nsevent); }else if(event_types[event_info[eid].type]) { - nsIDOMDocumentEvent *doc_event; + nsAString type_str; nsresult nsres; - nsres = nsIDOMHTMLDocument_QueryInterface(target->doc->nsdoc, &IID_nsIDOMDocumentEvent, - (void**)&doc_event); - if(NS_SUCCEEDED(nsres)) { - nsAString type_str; - - nsAString_InitDepend(&type_str, event_types[event_info[eid].type]); - nsres = nsIDOMDocumentEvent_CreateEvent(doc_event, &type_str, &ret->nsevent); - nsAString_Finish(&type_str); - nsIDOMDocumentEvent_Release(doc_event); - } + nsAString_InitDepend(&type_str, event_types[event_info[eid].type]); + nsres = nsIDOMHTMLDocument_CreateEvent(target->doc->nsdoc, &type_str, &ret->nsevent); + nsAString_Finish(&type_str); if(NS_FAILED(nsres)) { ERR("Could not create event: %08x\n", nsres); IHTMLEventObj_Release(&ret->IHTMLEventObj_iface); diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index e0d542b..6db4c84 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -81,32 +81,15 @@ static void window_set_docnode(HTMLWindow *window, HTMLDocumentNode *doc_node) nsIDOMWindow *get_nsdoc_window(nsIDOMDocument *nsdoc) { - nsIDOMDocumentView *nsdocview; - nsIDOMAbstractView *nsview; nsIDOMWindow *nswindow; nsresult nsres; - nsres = nsIDOMDocument_QueryInterface(nsdoc, &IID_nsIDOMDocumentView, (void**)&nsdocview); - nsIDOMDocument_Release(nsdoc); - if(NS_FAILED(nsres)) { - ERR("Could not get nsIDOMDocumentView iface: %08x\n", nsres); - return NULL; - } - - nsres = nsIDOMDocumentView_GetDefaultView(nsdocview, &nsview); - nsIDOMDocumentView_Release(nsdocview); + nsres = nsIDOMDocument_GetDefaultView(nsdoc, &nswindow); if(NS_FAILED(nsres)) { ERR("GetDefaultView failed: %08x\n", nsres); return NULL; } - nsres = nsIDOMAbstractView_QueryInterface(nsview, &IID_nsIDOMWindow, (void**)&nswindow); - nsIDOMAbstractView_Release(nsview); - if(NS_FAILED(nsres)) { - ERR("Coult not get nsIDOMWindow iface: %08x\n", nsres); - return NULL; - } - return nswindow; } diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c index 0dc0785..0220849 100644 --- a/dlls/mshtml/mutation.c +++ b/dlls/mshtml/mutation.c @@ -549,7 +549,7 @@ static void NSAPI nsDocumentObserver_EndLoad(nsIDocumentObserver *iface, nsIDocu } static void NSAPI nsDocumentObserver_ContentStatesChanged(nsIDocumentObserver *iface, nsIDocument *aDocument, - nsIContent *aContent1, nsIContent *aContent2, nsEventStates aStateMask) + nsIContent *aContent, nsEventStates aStateMask) { } diff --git a/dlls/mshtml/npplugin.c b/dlls/mshtml/npplugin.c index 042478b..e2e1c8e 100644 --- a/dlls/mshtml/npplugin.c +++ b/dlls/mshtml/npplugin.c @@ -97,29 +97,21 @@ static nsIDOMElement *get_dom_element(NPP instance) { nsISupports *instance_unk = (nsISupports*)instance->ndata; nsIPluginInstance *plugin_instance; - nsIPluginInstanceOwner *owner; - nsIPluginTagInfo *tag_info; nsIDOMElement *elem; nsresult nsres; nsres = nsISupports_QueryInterface(instance_unk, &IID_nsIPluginInstance, (void**)&plugin_instance); - if(NS_FAILED(nsres)) - return NULL; - - nsres = nsIPluginInstance_GetOwner(plugin_instance, &owner); - nsIPluginInstance_Release(instance_unk); - if(NS_FAILED(nsres) || !owner) - return NULL; - - nsres = nsISupports_QueryInterface(owner, &IID_nsIPluginTagInfo, (void**)&tag_info); - nsISupports_Release(owner); - if(NS_FAILED(nsres)) + if(NS_FAILED(nsres)) { + ERR("Could not get nsIPluginInstance interface: %08x\n", nsres); return NULL; + } - nsres = nsIPluginTagInfo_GetDOMElement(tag_info, &elem); - nsIPluginTagInfo_Release(tag_info); - if(NS_FAILED(nsres)) + nsres = nsIPluginInstance_GetDOMElement(plugin_instance, &elem); + nsIPluginInstance_Release(plugin_instance); + if(NS_FAILED(nsres)) { + ERR("GetDOMElement failed: %08x\n", nsres); return NULL; + } return elem; } diff --git a/dlls/mshtml/nsiface.idl b/dlls/mshtml/nsiface.idl index 502fb30..bd643b5 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.2.0\"") +cpp_quote("#define GECKO_VERSION \"1.3-beta1\"") cpp_quote("#define GECKO_VERSION_STRING \"Wine Gecko \" GECKO_VERSION") import "wtypes.idl"; @@ -89,6 +89,7 @@ interface nsIDOMCSSStyleSheet; interface nsIDOMDocumentView; interface nsIDOMWindow; interface nsIDOMElement; +interface nsIDOMRange; interface IMoniker; @@ -154,6 +155,14 @@ typedef nsISupports nsIContentSink; typedef nsISupports nsIParserFilter; typedef nsISupports nsIDTD; typedef nsISupports nsIObserver; +typedef nsISupports nsIDOMNodeFilter; +typedef nsISupports nsIDOMNodeIterator; +typedef nsISupports nsIDOMTreeWalker; +typedef nsISupports nsIHttpUpgradeListener; +typedef nsISupports nsIDOMDOMStringMap; + +typedef void *JSContext; +typedef void *JSObject; [ object, @@ -278,7 +287,7 @@ interface nsIInputStream : nsISupports [ object, - uuid(07a22cc0-0ce5-11d3-9331-00104ba0fd40), + uuid(d6d04c36-0fa4-4db3-be05-4a18397103e2), local ] interface nsIURI : nsISupports @@ -302,9 +311,13 @@ interface nsIURI : nsISupports nsresult SetPort(PRInt32 aPort); nsresult GetPath(nsACString *aPath); nsresult SetPath(const nsACString *aPath); + nsresult GetRef(nsACString *aRef); + nsresult SetRef(const nsACString *aRef); nsresult Equals(nsIURI *other, PRBool *_retval); + nsresult EqualsExceptRef(nsIURI *other, PRBool *_retval); nsresult SchemeIs(const char *scheme, PRBool *_retval); nsresult Clone(nsIURI **_retval); + nsresult CloneIgnoringRef(nsIURI **_retval); nsresult Resolve(const nsACString *relativePath, nsACString *_retval); nsresult GetAsciiSpec(nsACString *aAsciiSpec); nsresult GetAsciiHost(nsACString *aAsciiHost); @@ -313,7 +326,7 @@ interface nsIURI : nsISupports [ object, - uuid(d6116970-8034-11d3-9399-00104ba0fd40), + uuid(55e824ca-f1bb-4452-9e14-fcfa1ff091ce), local ] interface nsIURL : nsIURI @@ -324,8 +337,6 @@ interface nsIURL : nsIURI nsresult SetParam(const nsACString *aParam); nsresult GetQuery(nsACString *aQuery); nsresult SetQuery(const nsACString *aQuery); - nsresult GetRef(nsACString *aRef); - nsresult SetRef(const nsACString *aRef); nsresult GetDirectory(nsACString *aDirectory); nsresult SetDirectory(const nsACString *aDirectory); nsresult GetFileName(nsACString *aFileName); @@ -463,7 +474,7 @@ interface nsIHttpChannel : nsIChannel [ object, - uuid(9fb2a161-d075-4bf2-b07a-26bac650cc81), + uuid(9363fd96-af59-47e8-bddf-1d5e91acd336), local ] interface nsIHttpChannelInternal : nsISupports @@ -479,6 +490,12 @@ interface nsIHttpChannelInternal : nsISupports nsresult GetCanceled(PRBool *aCanceled); nsresult GetChannelIsForDownload(PRBool *aChannelIsForDownload); nsresult SetChannelIsForDownload(PRBool aChannelIsForDownload); + nsresult GetLocalAddress(nsACString *aLocalAddress); + nsresult GetLocalPort(PRInt32 *aLocalPort); + nsresult GetRemoteAddress(nsACString *aRemoteAddress); + nsresult GetRemotePort(PRInt32 *aRemotePort); + nsresult SetCacheKeysRedirectChain(void /*nsTArray<nsCString>*/ *cacheKeys); + nsresult HTTPUpgrade(const nsACString *aProtocolName, nsIHttpUpgradeListener *aListener); } [ @@ -520,7 +537,7 @@ interface nsIChannelEventSink : nsISupports [ object, - uuid(a6cf90c1-15b3-11d2-932e-00805f8add32), + uuid(2938307a-9d70-4b63-8afc-0197e82318ad), local ] interface nsIDOMCSSRule : nsISupports @@ -647,7 +664,7 @@ interface nsIDOM3Node : nsISupports [ object, - uuid(a6cf907c-15b3-11d2-932e-00805f8add32), + uuid(817dc774-2ad2-4111-9042-1787df86c015), local ] interface nsIDOMNode : nsISupports @@ -689,14 +706,13 @@ interface nsIDOMNode : nsISupports nsresult IsSupported(const nsAString *feature, const nsAString *version, PRBool *_retval); nsresult GetNamespaceURI(nsAString *aNamespaceURI); nsresult GetPrefix(nsAString *aPrefix); - nsresult SetPrefix(const nsAString *aPrefix); nsresult GetLocalName(nsAString *aLocalName); nsresult HasAttributes(PRBool *_retval); } [ object, - uuid(a6cf9070-15b3-11d2-932e-00805f8add32), + uuid(669a0f55-1e5d-4471-8de9-a6c6774354dd), local ] interface nsIDOMAttr : nsIDOMNode @@ -710,7 +726,7 @@ interface nsIDOMAttr : nsIDOMNode [ object, - uuid(a6cf9078-15b3-11d2-932e-00805f8add32), + uuid(f220e259-5c41-4cca-a38b-7267ffa874aa), local ] interface nsIDOMElement : nsIDOMNode @@ -799,7 +815,7 @@ cpp_quote("#undef GetClassName") [ object, - uuid(a6cf9085-15b3-11d2-932e-00805f8add32), + uuid(164c7ebd-2245-42d2-a96f-2bf2d01c1697), local ] interface nsIDOMHTMLElement : nsIDOMElement @@ -814,11 +830,16 @@ interface nsIDOMHTMLElement : nsIDOMElement nsresult SetDir(const nsAString *aDir); nsresult GetClassName(nsAString *aClassName); nsresult SetClassName(const nsAString *aClassName); + nsresult GetAccessKey(nsAString *aAccessKey); + nsresult SetAccessKey(const nsAString *aAccessKey); + nsresult Blur(); + nsresult Focus(); + nsresult Click(); } [ object, - uuid(f0ffe1d2-9615-492b-aae1-05428ebc2a70), + uuid(cf76761d-2d93-4e88-aaf1-b637878bad65), local ] interface nsIDOMNSHTMLElement : nsISupports @@ -839,16 +860,15 @@ interface nsIDOMNSHTMLElement : nsISupports nsresult GetIsContentEditable(PRBool *aIsContentEditable); nsresult GetDraggable(PRBool *aDraggable); nsresult SetDraggable(PRBool aDraggable); - nsresult Blur(); - nsresult Focus(); nsresult ScrollIntoView(PRBool top, PRUint8 _argc); nsresult GetSpellcheck(PRBool *aSpellcheck); nsresult SetSpellcheck(PRBool aSpellcheck); + nsresult GetDataset(nsIDOMDOMStringMap **aDataset); } [ object, - uuid(a6cf9083-15b3-11d2-932e-00805f8add32), + uuid(1af9e026-011d-4d0e-91db-09bcfa3e9622), local ] interface nsIDOMHTMLCollection : nsISupports @@ -860,7 +880,7 @@ interface nsIDOMHTMLCollection : nsISupports [ object, - uuid(a6cf9072-15b3-11d2-932e-00805f8add32), + uuid(6ce64178-d600-4e5e-a33a-5bde69f05bd5), local ] interface nsIDOMCharacterData : nsIDOMNode @@ -877,7 +897,7 @@ interface nsIDOMCharacterData : nsIDOMNode [ object, - uuid(a6cf9082-15b3-11d2-932e-00805f8add32), + uuid(48642156-d686-46b7-8e96-35edd5b2afa8), local ] interface nsIDOMText : nsIDOMCharacterData @@ -887,7 +907,7 @@ interface nsIDOMText : nsIDOMCharacterData [ object, - uuid(a6cf9073-15b3-11d2-932e-00805f8add32), + uuid(eaf04950-d409-41a0-a99d-2e4e43c1e33d), local ] interface nsIDOMComment : nsIDOMCharacterData @@ -896,7 +916,7 @@ interface nsIDOMComment : nsIDOMCharacterData [ object, - uuid(a6cf9076-15b3-11d2-932e-00805f8add32), + uuid(06376ec5-7c91-45ad-a346-30a06a125935), local ] interface nsIDOMDocumentFragment : nsIDOMNode @@ -905,27 +925,7 @@ interface nsIDOMDocumentFragment : nsIDOMNode [ object, - uuid(f51ebade-8b1a-11d3-aae7-0010830123b4), - local -] -interface nsIDOMAbstractView : nsISupports -{ - nsresult GetDocument(nsIDOMDocumentView **aDocument); -} - -[ - object, - uuid(0b9341f3-95d4-4fa4-adcd-e119e0db2889), - local -] -interface nsIDOMViewCSS : nsIDOMAbstractView -{ - nsresult GetComputedStyle(nsIDOMElement *elt, const nsAString *pseudoElt, nsIDOMCSSStyleDeclaration **_retval); -} - -[ - object, - uuid(a6cf9075-15b3-11d2-932e-00805f8add32), + uuid(61b2159c-614e-4aff-a626-f34af9bb1759), local ] interface nsIDOMDocument : nsIDOMNode @@ -951,6 +951,24 @@ interface nsIDOMDocument : nsIDOMNode nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMNodeList **_retval); nsresult GetElementById(const nsAString *elementId, nsIDOMElement **_retval); + nsresult GetInputEncoding(nsAString *aInputEncoding); + nsresult GetXmlEncoding(nsAString *aXmlEncoding); + nsresult GetXmlStandalone(PRBool *aXmlStandalone); + nsresult SetXmlStandalone(PRBool aXmlStandalone); + nsresult GetXmlVersion(nsAString *aXmlVersion); + nsresult SetXmlVersion(const nsAString *aXmlVersion); + nsresult GetDocumentURI(nsAString *aDocumentURI); + nsresult SetDocumentURI(const nsAString *aDocumentURI); + nsresult AdoptNode(nsIDOMNode *source, nsIDOMNode **_retval); + nsresult NormalizeDocument(); + nsresult GetDefaultView(nsIDOMWindow **aDefaultView); + nsresult CreateRange(nsIDOMRange **_retval); + nsresult CreateNodeIterator(nsIDOMNode *root, PRUint32 whatToShow, nsIDOMNodeFilter *filter, + PRBool entityReferenceExpansion, nsIDOMNodeIterator **_retval); + nsresult CreateTreeWalker(nsIDOMNode *root, PRUint32 whatToShow, nsIDOMNodeFilter *filter, + PRBool entityReferenceExpansion, nsIDOMTreeWalker **_retval); + cpp_quote("#undef CreateEvent") + nsresult CreateEvent(const nsAString *eventType, nsIDOMEvent **_retval); } [ @@ -981,7 +999,7 @@ interface nsIDOMNSDocument : nsISupports [ object, - uuid(a6cf9084-15b3-11d2-932e-00805f8add32), + uuid(eb3750ae-d156-4b97-b200-f35276c6510f), local ] interface nsIDOMHTMLDocument : nsIDOMDocument @@ -1009,13 +1027,11 @@ interface nsIDOMHTMLDocument : nsIDOMDocument [ object, - uuid(95cd5ad4-ae8a-4f0e-b168-35e03d5e0b9a), + uuid(386e9eee-1f06-40a6-a1a7-ed986646b793), local ] interface nsIDOMNSHTMLDocument : nsISupports { - nsresult GetWidth(PRInt32 *aWidth); - nsresult GetHeight(PRInt32 *aHeight); nsresult GetAlinkColor(nsAString *aAlinkColor); nsresult SetAlinkColor(const nsAString *aAlinkColor); nsresult GetLinkColor(nsAString *aLinkColor); @@ -1062,27 +1078,6 @@ interface nsIDOMDocumentStyle : nsISupports [ object, - uuid(1acdb2ba-1dd2-11b2-95bc-9542495d2569), - local -] -interface nsIDOMDocumentView : nsISupports -{ - nsresult GetDefaultView(nsIDOMAbstractView **aDefaultView); -} - -[ - object, - uuid(46b91d66-28e2-11d4-ab1e-0010830123b4), - local -] -interface nsIDOMDocumentEvent : nsISupports -{ -cpp_quote("#undef CreateEvent") - nsresult CreateEvent(const nsAString *eventType, nsIDOMEvent **_retval); -} - -[ - object, uuid(a6cf90ce-15b3-11d2-932e-00805f8add32), local ] @@ -1138,16 +1133,6 @@ interface nsIDOMNSRange : nsISupports [ object, - uuid(7b9badc6-c9bc-447a-8670-dbd195aed24b), - local -] -interface nsIDOMDocumentRange : nsISupports -{ - nsresult CreateRange(nsIDOMRange **_retval); -} - -[ - object, uuid(b2c7ed59-8634-4352-9e37-5484c8b6e4e1), local ] @@ -1188,7 +1173,7 @@ interface nsIDOMWindowCollection : nsISupports [ object, - uuid(a6cf906b-15b3-11d2-932e-00805f8add32), + uuid(ff7d278f-93db-4078-b89a-058c8e1270b4), local ] interface nsIDOMWindow : nsISupports @@ -1210,11 +1195,12 @@ interface nsIDOMWindow : nsISupports nsresult ScrollByLines(PRInt32 numLines); nsresult ScrollByPages(PRInt32 numPages); nsresult SizeToContent(); + nsresult GetComputedStyle(nsIDOMElement *elt, const nsAString *pseudoElt, nsIDOMCSSStyleDeclaration **_retval); } [ object, - uuid(a6cf908e-15b3-11d2-932e-00805f8add32), + uuid(87db4ba2-367d-4604-ad36-b97cc09bf3f1), local ] interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement @@ -1235,7 +1221,7 @@ interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement [ object, - uuid(0884ce23-e069-499e-a13c-a91c8ae0fc98), + uuid(e8624d8a-0e9c-49d4-848c-75afcfd6f048), local ] interface nsIDOMHTMLFormElement : nsIDOMHTMLElement @@ -1264,7 +1250,7 @@ interface nsIDOMHTMLFormElement : nsIDOMHTMLElement [ object, - uuid(0805059d-f18f-4095-ae6b-0bf6df80b7b8), + uuid(a59ba6b8-6f8b-4003-a8a4-184a51a05050), local ] interface nsIDOMHTMLInputElement : nsIDOMHTMLElement @@ -1312,8 +1298,6 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement nsresult SetReadOnly(PRBool aReadOnly); nsresult GetRequired(PRBool *aRequired); nsresult SetRequired(PRBool aRequired); - nsresult GetAccessKey(nsAString *aAccessKey); - nsresult SetAccessKey(const nsAString *aAccessKey); nsresult GetAlign(nsAString *aAlign); nsresult SetAlign(const nsAString *aAlign); nsresult GetSize(PRUint32 *aSize); @@ -1346,14 +1330,11 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement nsresult MozGetFileNameArray(PRUint32 *aLength, PRUnichar ***aFileNames); nsresult MozSetFileNameArray(const PRUnichar **aFileNames, PRUint32 aLength); nsresult MozIsTextField(PRBool aExcludePassword, PRBool *_retval); - nsresult Blur(); - nsresult Focus(); - nsresult Click(); } [ object, - uuid(611d00f5-1eb8-4571-b995-2a2019d2d11c), + uuid(f289fdb9-fe0f-41d3-bbdb-5c4e21f0a4d2), local ] interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement @@ -1389,7 +1370,7 @@ interface nsIDOMHTMLOptionsCollection : nsISupports [ object, - uuid(e3c6d960-972c-4a5e-a8f4-6ca65d578abf), + uuid(58cd01b8-c3f2-4e58-b39d-8a0ba941717e), local ] interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement @@ -1419,18 +1400,18 @@ interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement nsresult SetValue(const nsAString *aValue); nsresult GetTabIndex(PRInt32 *aTabIndex); nsresult SetTabIndex(PRInt32 aTabIndex); - nsresult Blur(); - nsresult Focus(); nsresult GetWillValidate(PRBool *aWillValidate); nsresult GetValidity(nsIDOMValidityState **aValidity); nsresult GetValidationMessage(nsAString *aValidationMessage); nsresult CheckValidity(PRBool *_retval); nsresult SetCustomValidity(const nsAString *error); + nsresult GetRequired(PRBool *aRequired); + nsresult SetRequired(PRBool aRequired); } [ object, - uuid(a6cf9094-15b3-11d2-932e-00805f8add32), + uuid(905edd3e-c0b3-4d54-8a2c-0eaab6ccb3cf), local ] interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement @@ -1438,31 +1419,27 @@ interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement nsresult GetDefaultValue(nsAString *aDefaultValue); nsresult SetDefaultValue(const nsAString *aDefaultValue); nsresult GetForm(nsIDOMHTMLFormElement **aForm); - nsresult GetAccessKey(nsAString *aAccessKey); - nsresult SetAccessKey(const nsAString *aAccessKey); - nsresult GetCols(PRInt32 *aCols); - nsresult SetCols(PRInt32 aCols); + nsresult GetCols(PRUint32 *aCols); + nsresult SetCols(PRUint32 aCols); nsresult GetDisabled(PRBool *aDisabled); nsresult SetDisabled(PRBool aDisabled); nsresult GetName(nsAString *aName); nsresult SetName(const nsAString *aName); nsresult GetReadOnly(PRBool *aReadOnly); nsresult SetReadOnly(PRBool aReadOnly); - nsresult GetRows(PRInt32 *aRows); - nsresult SetRows(PRInt32 aRows); + nsresult GetRows(PRUint32 *aRows); + nsresult SetRows(PRUint32 aRows); nsresult GetTabIndex(PRInt32 *aTabIndex); nsresult SetTabIndex(PRInt32 aTabIndex); nsresult GetType(nsAString *aType); nsresult GetValue(nsAString *aValue); nsresult SetValue(const nsAString *aValue); - nsresult Blur(); - nsresult Focus(); nsresult Select(); } [ object, - uuid(4af8568c-375c-42fd-a82f-b25a7c03fc3e), + uuid(c623ecc4-381b-4fa7-9016-a29f0a06230b), local ] interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement @@ -1487,7 +1464,7 @@ interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement [ object, - uuid(3fc9c313-49b9-4315-b39f-7166cf362e10), + uuid(c4ef8a40-dd56-4b95-a007-630a0ac04341), local ] interface nsIDOMHTMLImageElement : nsIDOMHTMLElement @@ -1527,7 +1504,7 @@ interface nsIDOMHTMLImageElement : nsIDOMHTMLElement [ object, - uuid(4e237175-3628-4dc8-892f-5270edc3c71a), + uuid(768bfb39-f0ce-4f17-bad7-f0f722dc293a), local ] interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement @@ -1560,8 +1537,6 @@ interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement nsresult SetSearch(const nsAString *aSearch); nsresult GetHash(nsAString *aHash); nsresult SetHash(const nsAString *aHash); - nsresult GetAccessKey(nsAString *aAccessKey); - nsresult SetAccessKey(const nsAString *aAccessKey); nsresult GetCharset(nsAString *aCharset); nsresult SetCharset(const nsAString *aCharset); nsresult GetCoords(nsAString *aCoords); @@ -1575,13 +1550,11 @@ interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement nsresult GetTabIndex(PRInt32 *aTabIndex); nsresult SetTabIndex(PRInt32 aTabIndex); nsresult ToString(nsAString *_retval); - nsresult Blur(); - nsresult Focus(); } [ object, - uuid(a6cf90b2-15b3-11d2-932e-00805f8add32), + uuid(1927df94-db16-4e28-a491-4279eccc539d), local ] interface nsIDOMHTMLTableElement : nsIDOMHTMLElement @@ -1624,7 +1597,7 @@ interface nsIDOMHTMLTableElement : nsIDOMHTMLElement [ object, - uuid(a6cf90b6-15b3-11d2-932e-00805f8add32), + uuid(0f614ba0-5ee1-494b-ade8-14c29f416798), local ] interface nsIDOMHTMLTableRowElement : nsIDOMHTMLElement @@ -1648,7 +1621,7 @@ interface nsIDOMHTMLTableRowElement : nsIDOMHTMLElement [ object, - uuid(a6cf90ba-15b3-11d2-932e-00805f8add32), + uuid(33dfbcdc-4edf-4e6a-acf4-c6b5bbb61caf), local ] interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement @@ -1678,7 +1651,7 @@ interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement [ object, - uuid(a6cf90b9-15b3-11d2-932e-00805f8add32), + uuid(e3f42587-847f-4743-8891-490b2066493d), local ] interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement @@ -1704,7 +1677,7 @@ interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement [ object, - uuid(9b93aab4-7fe8-4f79-9ad2-0623178a0c46), + uuid(700d3c7b-cbc2-4ab4-9aa3-fedd0b09fe89), local ] interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement @@ -1754,7 +1727,7 @@ interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement [ object, - uuid(a6cf90ad-15b3-11d2-932e-00805f8add32), + uuid(20ac93e9-4ac8-40b0-a1f3-38948f6ca6ab), local ] interface nsIDOMHTMLParamElement : nsIDOMHTMLElement @@ -1771,7 +1744,7 @@ interface nsIDOMHTMLParamElement : nsIDOMHTMLElement [ object, - uuid(a6cf908d-15b3-11d2-932e-00805f8add32), + uuid(675aff34-07c5-491f-b92f-ccaf616ef8b3), local ] interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement @@ -2169,7 +2142,7 @@ interface nsIFile : nsISupports [ object, - uuid(56c35506-f14b-11d3-99d3-ddbfac2ccf65), + uuid(e0b6e170-691b-11e0-ae3e-0800200c9a66), local ] interface nsIPrefBranch : nsISupports @@ -2331,7 +2304,7 @@ interface nsIDOMEventTarget : nsISupports [ object, - uuid(a66b7b80-ff46-bd97-0080-5f8ae38add32), + uuid(548137e8-fd2c-48c4-8635-3033f7db79e0), local ] interface nsIDOMEvent : nsISupports @@ -2346,6 +2319,7 @@ interface nsIDOMEvent : nsISupports nsresult StopPropagation(); nsresult PreventDefault(); nsresult InitEvent(const nsAString *eventTypeArg, PRBool canBubbleArg, PRBool cancelableArg); + nsresult GetDefaultPrevented(PRBool *aDefaultPrevented); } cpp_quote("#define CONTEXT_NONE 0x00") @@ -2368,20 +2342,20 @@ interface nsIContextMenuListener : nsISupports [ object, - uuid(a6cf90c3-15b3-11d2-932e-00805f8add32), + uuid(25f28689-3f78-47e8-8d76-15b936faf8c1), local ] interface nsIDOMUIEvent : nsIDOMEvent { - nsresult GetView(nsIDOMAbstractView **aView); + nsresult GetView(nsIDOMWindow **aView); nsresult GetDetail(PRInt32 *aDetail); nsresult InitUIEvent(const nsAString *typeArg, PRBool canBubbleArg, PRBool cancelableArg, - nsIDOMAbstractView *viewArg, PRInt32 detailArg); + nsIDOMWindow *viewArg, PRInt32 detailArg); } [ object, - uuid(ff751edc-8b02-aae7-0010-8301838a3123), + uuid(73558605-f479-493e-86d1-9794cd117fef), local ] interface nsIDOMMouseEvent : nsIDOMUIEvent @@ -2397,7 +2371,7 @@ interface nsIDOMMouseEvent : nsIDOMUIEvent nsresult GetButton(PRUint16 *aButton); nsresult GetRelatedTarget(nsIDOMEventTarget **aRelatedTarget); nsresult InitMouseEvent(const nsAString *typeArg, PRBool canBubbleArg, PRBool cancelableArg, - nsIDOMAbstractView *viewArg, PRInt32 detailArg, PRInt32 screenXArg, PRInt32 screenYArg, + nsIDOMWindow *viewArg, PRInt32 detailArg, PRInt32 screenXArg, PRInt32 screenYArg, PRInt32 clientXArg, PRInt32 clientYArg, PRBool ctrlKeyArg, PRBool altKeyArg, PRBool shiftKeyArg, PRBool metaKeyArg, PRUint16 buttonArg, nsIDOMEventTarget *relatedTargetArg); @@ -2405,7 +2379,7 @@ interface nsIDOMMouseEvent : nsIDOMUIEvent [ object, - uuid(028e0e6e-8b01-11d3-aae7-0010838a3123), + uuid(e44d7977-20f2-442e-bc13-0f2f52992a4c), local ] interface nsIDOMKeyEvent : nsIDOMUIEvent @@ -2417,7 +2391,7 @@ interface nsIDOMKeyEvent : nsIDOMUIEvent nsresult GetShiftKey(PRBool *aShiftKey); nsresult GetMetaKey(PRBool *aMetaKey); nsresult InitKeyEvent(const nsAString *typeArg, PRBool canBubbleArg, - PRBool cancelableArg, nsIDOMAbstractView *viewArg, PRBool ctrlKeyArg, + PRBool cancelableArg, nsIDOMWindow *viewArg, PRBool ctrlKeyArg, PRBool altKeyArg, PRBool shiftKeyArg, PRBool metaKeyArg, PRUint32 keyCodeArg, PRUint32 charCodeArg); } @@ -2664,7 +2638,7 @@ interface nsIController : nsISupports [ object, - uuid(71afb9e6-e8a7-475d-89c4-e46221ebe1a4), + uuid(32b94ba0-1ebc-4dfc-ba8c-5f242bcbafce), local ] interface nsIContent : nsISupports @@ -2674,7 +2648,7 @@ interface nsIContent : nsISupports [ object, - uuid(c38a7935-c854-4df7-8fd4-a26f0d279f31), + uuid(26ef6218-cd5e-4953-bb57-b85029a1ae40), local ] interface nsIDocument : nsISupports @@ -2700,7 +2674,7 @@ interface nsIContentSerializer : nsISupports nsAString *aStr); nsresult AppendDoctype(nsIContent *aDoctype, nsAString *aStr); nsresult AppendElementStart(nsIContent *aElement, nsIContent *aOriginalElement, - nsAString *aStr); + nsAString *aStr); nsresult AppendElementEnd(nsIContent *aElement, nsAString *aStr); nsresult Flush(nsAString *aStr); nsresult AppendDocumentStart(nsIDocument *aDocument, nsAString *aStr); @@ -2708,16 +2682,15 @@ interface nsIContentSerializer : nsISupports [ object, - uuid(972e54e1-dec3-4e3f-87ec-408a7dbcfd92), + uuid(bd5d93f0-6451-11e0-ae3e-0800200c9a66), local ] interface nsIEditor : nsISupports { - typedef void *nsIPresShellPtr; typedef void *nsIContentPtr; nsresult GetSelection([out] nsISelection *_retval); - nsresult Init([in] nsIDOMDocument *doc, [in] nsIPresShellPtr shell, [in] nsIContentPtr aRoot, [in] nsISelectionController *aSelCon, [in] PRUint32 aFlags); + nsresult Init([in] nsIDOMDocument *doc, [in] nsIContentPtr aRoot, [in] nsISelectionController *aSelCon, [in] PRUint32 aFlags); nsresult SetAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] const nsAString *sourceAttrValue, [in] PRBool aSuppressTransaction); nsresult RemoveAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] PRBool aSuppressTransaction); nsresult PostCreate(); @@ -2793,11 +2766,12 @@ interface nsIEditor : nsISupports nsresult DebugDumpContent(); nsresult DebugUnitTests([out] PRInt32 *outNumTests, [out] PRInt32 *outNumTestsFailed); PRBool IsModifiableNode(nsIDOMNode *aNode); + nsresult GetLastKeypressEventTrusted(PRBool *aLastKeypressEventTrusted); } [ object, - uuid(afc36593-5787-4420-93d9-b2c0ccbf0cad), + uuid(c964b8b0-e9e8-11df-9492-0800200c9a66), local ] interface nsIHTMLEditor : nsISupports @@ -2860,11 +2834,12 @@ interface nsIHTMLEditor : nsISupports nsresult IsAnonymousElement([in] nsIDOMElement *aElement, [out] PRBool *_retval); nsresult GetReturnInParagraphCreatesNewParagraph([out] PRBool *_retval); nsresult SetReturnInParagraphCreatesNewParagraph([in] PRBool prb); + nsresult BreakIsVisible(nsIDOMNode *aNode, PRBool *_retval); } [ object, - uuid(98cdbcc4-2d81-4191-a63f-b6c52085edbc), + uuid(f77271a1-0b22-4581-af6d-529125f1901d), local ] interface nsIDocShell : nsISupports @@ -2875,7 +2850,7 @@ interface nsIDocShell : nsISupports nsresult InternalLoad(nsIURI *aURI, nsIURI *aReferrer, nsISupports *aOwner, PRUint32 aFlags, const PRUnichar *aWindowTarget, const char *aTypeHint, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, PRUint32 aLoadFlags, nsISHEntry *aSHEntry, PRBool firstParty, nsIDocShell **aDocShell, nsIRequest **aRequest); - nsresult AddState(nsIVariant *aData, const nsAString *aTitle, const nsAString *aURL, PRBool aReplace); + nsresult AddState(nsIVariant *aData, const nsAString *aTitle, const nsAString *aURL, PRBool aReplace, JSContext *cx); nsresult CreateLoadInfo(nsIDocShellLoadInfo **loadInfo); nsresult PrepareForNewContentModel(); nsresult SetCurrentURI(nsIURI *aURI); @@ -2950,6 +2925,7 @@ interface nsIDocShell : nsISupports nsresult GetHistoryID(PRUint64 *aHistoryID); nsresult GetIsAppTab(PRBool *aIsAppTab); nsresult SetIsAppTab(PRBool aIsAppTab); + nsresult CreateAboutBlankContentViewer(nsIPrincipal *aPrincipal); } [ @@ -3013,18 +2989,18 @@ interface nsIParser : nsISupports PRInt32 aContextNamespace, PRBool aQuirks); nsresult BuildModel(); nsresult CancelParsingEvents(); - void cdecl Reset(); - PRBool cdecl CanInterrupt(); - PRBool cdecl IsInsertionPointDefined(); - void cdecl BeginEvaluatingParserInsertedScript(); - void cdecl EndEvaluatingParserInsertedScript(); - void cdecl MarkAsNotScriptCreated(); - PRBool cdecl IsScriptCreated(); + void Reset(); + PRBool CanInterrupt(); + PRBool IsInsertionPointDefined(); + void BeginEvaluatingParserInsertedScript(); + void EndEvaluatingParserInsertedScript(); + void MarkAsNotScriptCreated(); + PRBool IsScriptCreated(); } [ object, - uuid(3d005225-210f-4b07-b1d9-96020574c437), + uuid(900bc4bc-8b6c-4cba-82fa-568a80fffd3e), local ] interface nsIDocumentObserver : nsIMutationObserver @@ -3039,8 +3015,7 @@ interface nsIDocumentObserver : nsIMutationObserver void EndUpdate(nsIDocument *aDocument, nsUpdateType aUpdateType); void BeginLoad(nsIDocument *aDocument); void EndLoad(nsIDocument *aDocument); - void ContentStatesChanged(nsIDocument *aDocument, nsIContent *aContent1, nsIContent *aContent2, - nsEventStates aStateMask); + void ContentStatesChanged(nsIDocument *aDocument, nsIContent *aContent, nsEventStates aStateMask); void DocumentStatesChanged(nsIDocument* aDocument, nsEventStates aStateMask); void StyleSheetAdded(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, PRBool aDocumentSheet); void StyleSheetRemoved(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, PRBool aDocumentSheet); @@ -3062,9 +3037,6 @@ interface nsIDocumentObserver : nsIMutationObserver interface nsIContentUtils : nsISupports { PRBool IsSafeToRunScript(); - PRBool ParseIntMarginValue(const nsAString *aString, nsIntMargin *result); - void /*already_AddRefed<nsIDocumentLoaderFactory>*/ FindInternalContentViewer( - const char *aType, int /*ContentViewerType*/ *aLoaderType); nsresult AddDocumentObserver(nsIDocument *aDocument, nsIDocumentObserver *aObserver); nsresult RemoveDocumentObserver(nsIDocument *aDocument, nsIDocumentObserver *aObserver); nsresult AddMutationObserver(nsINode *aNode, nsIMutationObserver *aObserver); @@ -3195,77 +3167,10 @@ typedef HRGN NPRegion; [ object, - uuid(84994340-e120-4051-824f-d4ee8aef1a3e), + uuid(8f672000-bab9-4c60-aaaf-2673c4e2a4c6), local ] interface nsIPluginInstance : nsISupports { - typedef void *JSContext; - typedef void *JSObject; - typedef void *gfxASurface; - - nsresult Initialize(nsIPluginInstanceOwner *aOwner, const char *aMIMEType); - nsresult Start(); - nsresult Stop(); - nsresult SetWindow(NPWindow *aWindow); - nsresult NewStreamToPlugin(nsIPluginStreamListener **aListener); - nsresult NewStreamFromPlugin(const char *aType, const char *aTarget, nsIOutputStream **aResult); - nsresult Print(NPPrint *aPlatformPrint); - nsresult HandleEvent(void *aEvent, PRInt16 *aHandled); - nsresult InvalidateRect(NPRect *aRect); - nsresult InvalidateRegion(NPRegion aRegion); - nsresult ForceRedraw(); - nsresult GetMIMEType(const char **aValue); - nsresult GetJSContext(JSContext **aJSContext); - nsresult GetOwner(nsIPluginInstanceOwner **aOwner); - nsresult SetOwner(nsIPluginInstanceOwner *aOwner); - nsresult ShowStatus(const char *aMessage); - nsresult InvalidateOwner(); - nsresult GetJSObject(JSContext *cx, JSObject **_retval); - nsresult GetFormValue(nsAString *aFormValue); - nsresult PushPopupsEnabledState(PRBool aEnabled); - nsresult PopPopupsEnabledState(); - nsresult GetPluginAPIVersion(PRUint16 *aPluginAPIVersion); - nsresult DefineJavaProperties(); - nsresult ShouldCache(PRBool *_retval); - nsresult IsWindowless(PRBool *_retval); - nsresult IsTransparent(PRBool *_retval); - nsresult GetValueFromPlugin(NPPVariable variable, void *aValue); - nsresult GetDrawingModel(PRInt32 *_retval); - nsresult AsyncSetWindow(NPWindow *aWindow); - nsresult NotifyPainted(); - nsresult GetSurface(gfxASurface **aSurface); - nsresult UseAsyncPainting(PRBool *_retval); - -} - -[ - object, - uuid(6d827df5-b5cd-416c-85cb-3cdd05c7aed1), - local -] -interface nsIPluginTagInfo : nsISupports -{ - typedef enum { - nsPluginTagType_Unknown, - nsPluginTagType_Embed, - nsPluginTagType_Object, - nsPluginTagType_Applet - } nsPluginTagType; - - nsresult GetAttributes(PRUint16 *aCount, const char ***aNames, const char ***aValues); - nsresult GetAttribute(const char *aName, const char **aResult); - nsresult GetTagType(nsPluginTagType *aTagType); - nsresult GetTagText(const char **aTagText); - nsresult GetParameters(PRUint16 *aCount, const char ***aNames, const char ***aValues); - nsresult GetParameter(const char *aName, const char **aResult); - nsresult GetDocumentBase(const char **aDocumentBase); - nsresult GetDocumentEncoding(const char **aDocumentEncoding); - nsresult GetAlignment(const char **aElignment); - nsresult GetWidth(PRUint32 *aWidth); - nsresult GetHeight(PRUint32 *aHeight); - nsresult GetBorderVertSpace(PRUint32 *aBorderVertSpace); - nsresult GetBorderHorizSpace(PRUint32 *aBorderHorizSpace); - nsresult GetUniqueID(PRUint32 *aUniqueID); nsresult GetDOMElement(nsIDOMElement **aDOMElement); } diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index ca2b763..50d97ba 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -1501,6 +1501,51 @@ static nsresult NSAPI nsHttpChannelInternal_SetChannelIsForDownload(nsIHttpChann return NS_ERROR_NOT_IMPLEMENTED; } +static nsresult NSAPI nsHttpChannelInternal_GetLocalAddress(nsIHttpChannelInternal *iface, nsACString *aLocalAddress) +{ + nsChannel *This = impl_from_nsIHttpChannelInternal(iface); + + FIXME("(%p)->(%p)\n", This, aLocalAddress); + + return NS_ERROR_NOT_IMPLEMENTED; +} + +static nsresult NSAPI nsHttpChannelInternal_GetLocalPort(nsIHttpChannelInternal *iface, PRInt32 *aLocalPort) +{ + nsChannel *This = impl_from_nsIHttpChannelInternal(iface); + + FIXME("(%p)->(%p)\n", This, aLocalPort); + + return NS_ERROR_NOT_IMPLEMENTED; +} + +static nsresult NSAPI nsHttpChannelInternal_GetRemoteAddress(nsIHttpChannelInternal *iface, nsACString *aRemoteAddress) +{ + nsChannel *This = impl_from_nsIHttpChannelInternal(iface); + + FIXME("(%p)->(%p)\n", This, aRemoteAddress); + + return NS_ERROR_NOT_IMPLEMENTED; +} + +static nsresult NSAPI nsHttpChannelInternal_GetRemotePort(nsIHttpChannelInternal *iface, PRInt32 *aRemotePort) +{ + nsChannel *This = impl_from_nsIHttpChannelInternal(iface); + + FIXME("(%p)->(%p)\n", This, aRemotePort); + + return NS_ERROR_NOT_IMPLEMENTED; +} + +static nsresult NSAPI nsHttpChannelInternal_SetCacheKeysRedirectChain(nsIHttpChannelInternal *iface, void *cacheKeys) +{ + nsChannel *This = impl_from_nsIHttpChannelInternal(iface); + + FIXME("(%p)->(%p)\n", This, cacheKeys); + + return NS_ERROR_NOT_IMPLEMENTED; +} + static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = { nsHttpChannelInternal_QueryInterface, nsHttpChannelInternal_AddRef, @@ -1515,7 +1560,12 @@ static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = { nsHttpChannelInternal_SetForceAllowThirdPartyCookie, nsHttpChannelInternal_GetCanceled, nsHttpChannelInternal_GetChannelIsForDownload, - nsHttpChannelInternal_SetChannelIsForDownload + nsHttpChannelInternal_SetChannelIsForDownload, + nsHttpChannelInternal_GetLocalAddress, + nsHttpChannelInternal_GetLocalPort, + nsHttpChannelInternal_GetRemoteAddress, + nsHttpChannelInternal_GetRemotePort, + nsHttpChannelInternal_SetCacheKeysRedirectChain }; @@ -2032,6 +2082,57 @@ static nsresult NSAPI nsURI_SetPath(nsIURL *iface, const nsACString *aPath) return NS_OK; } +static nsresult NSAPI nsURL_GetRef(nsIURL *iface, nsACString *aRef) +{ + nsWineURI *This = impl_from_nsIURL(iface); + char *refa = NULL; + BSTR ref; + HRESULT hres; + + TRACE("(%p)->(%p)\n", This, aRef); + + if(!ensure_uri(This)) + return NS_ERROR_UNEXPECTED; + + hres = IUri_GetFragment(This->uri, &ref); + if(FAILED(hres)) + return NS_ERROR_UNEXPECTED; + + refa = heap_strdupWtoA(ref); + SysFreeString(ref); + if(ref && !refa) + return NS_ERROR_OUT_OF_MEMORY; + + nsACString_SetData(aRef, refa && *refa == '#' ? refa+1 : refa); + heap_free(refa); + return NS_OK; +} + +static nsresult NSAPI nsURL_SetRef(nsIURL *iface, const nsACString *aRef) +{ + nsWineURI *This = impl_from_nsIURL(iface); + const char *refa; + WCHAR *ref; + HRESULT hres; + + TRACE("(%p)->(%s)\n", This, debugstr_nsacstr(aRef)); + + if(!ensure_uri_builder(This)) + return NS_ERROR_UNEXPECTED; + + nsACString_GetData(aRef, &refa); + ref = heap_strdupAtoW(refa); + if(!ref) + return NS_ERROR_OUT_OF_MEMORY; + + hres = IUriBuilder_SetFragment(This->uri_builder, ref); + heap_free(ref); + if(FAILED(hres)) + return NS_ERROR_UNEXPECTED; + + return NS_OK; +} + static nsresult NSAPI nsURI_Equals(nsIURL *iface, nsIURI *other, PRBool *_retval) { nsWineURI *This = impl_from_nsIURL(iface); @@ -2059,6 +2160,13 @@ static nsresult NSAPI nsURI_Equals(nsIURL *iface, nsIURI *other, PRBool *_retval return nsres; } +static nsresult NSAPI nsURI_EqualsExceptRef(nsIURL *iface, nsIURI *other, PRBool *_retval) +{ + nsWineURI *This = impl_from_nsIURL(iface); + FIXME("(%p)->(%p %p)\n", This, other, _retval); + return nsIURL_Equals(&This->nsIURL_iface, other, _retval); +} + static nsresult NSAPI nsURI_SchemeIs(nsIURL *iface, const char *scheme, PRBool *_retval) { nsWineURI *This = impl_from_nsIURL(iface); @@ -2111,6 +2219,13 @@ static nsresult NSAPI nsURI_Clone(nsIURL *iface, nsIURI **_retval) return NS_OK; } +static nsresult NSAPI nsURI_CloneIgnoreRef(nsIURL *iface, nsIURI **_retval) +{ + nsWineURI *This = impl_from_nsIURL(iface); + FIXME("(%p)->(%p)\n", This, _retval); + return nsIURL_Clone(&This->nsIURL_iface, _retval); +} + static nsresult NSAPI nsURI_Resolve(nsIURL *iface, const nsACString *aRelativePath, nsACString *_retval) { @@ -2265,57 +2380,6 @@ static nsresult NSAPI nsURL_SetQuery(nsIURL *iface, const nsACString *aQuery) return NS_OK; } -static nsresult NSAPI nsURL_GetRef(nsIURL *iface, nsACString *aRef) -{ - nsWineURI *This = impl_from_nsIURL(iface); - char *refa = NULL; - BSTR ref; - HRESULT hres; - - TRACE("(%p)->(%p)\n", This, aRef); - - if(!ensure_uri(This)) - return NS_ERROR_UNEXPECTED; - - hres = IUri_GetFragment(This->uri, &ref); - if(FAILED(hres)) - return NS_ERROR_UNEXPECTED; - - refa = heap_strdupWtoA(ref); - SysFreeString(ref); - if(ref && !refa) - return NS_ERROR_OUT_OF_MEMORY; - - nsACString_SetData(aRef, refa && *refa == '#' ? refa+1 : refa); - heap_free(refa); - return NS_OK; -} - -static nsresult NSAPI nsURL_SetRef(nsIURL *iface, const nsACString *aRef) -{ - nsWineURI *This = impl_from_nsIURL(iface); - const char *refa; - WCHAR *ref; - HRESULT hres; - - TRACE("(%p)->(%s)\n", This, debugstr_nsacstr(aRef)); - - if(!ensure_uri_builder(This)) - return NS_ERROR_UNEXPECTED; - - nsACString_GetData(aRef, &refa); - ref = heap_strdupAtoW(refa); - if(!ref) - return NS_ERROR_OUT_OF_MEMORY; - - hres = IUriBuilder_SetFragment(This->uri_builder, ref); - heap_free(ref); - if(FAILED(hres)) - return NS_ERROR_UNEXPECTED; - - return NS_OK; -} - static nsresult NSAPI nsURL_GetDirectory(nsIURL *iface, nsACString *aDirectory) { nsWineURI *This = impl_from_nsIURL(iface); @@ -2472,9 +2536,13 @@ static const nsIURLVtbl nsURLVtbl = { nsURI_SetPort, nsURI_GetPath, nsURI_SetPath, + nsURL_GetRef, + nsURL_SetRef, nsURI_Equals, + nsURI_EqualsExceptRef, nsURI_SchemeIs, nsURI_Clone, + nsURI_CloneIgnoreRef, nsURI_Resolve, nsURI_GetAsciiSpec, nsURI_GetAsciiHost, @@ -2485,8 +2553,6 @@ static const nsIURLVtbl nsURLVtbl = { nsURL_SetParam, nsURL_GetQuery, nsURL_SetQuery, - nsURL_GetRef, - nsURL_SetRef, nsURL_GetDirectory, nsURL_SetDirectory, nsURL_GetFileName,