From b0b564f6a70e05b04179623dabcdb8803598ba43 Mon Sep 17 00:00:00 2001 From: "alice.liu@apple.com" Date: Thu, 4 Mar 2010 05:17:44 +0000 Subject: [PATCH] Add a way to get an iframe's content frame Reviewed by Jon Honeycutt. * DOMCoreClasses.cpp: (DOMElement::createInstance): Added case for DOMHTMLIFrameElement * DOMHTMLClasses.cpp: Adding the few DOMHTMLIFrameElement functions definitions that have distinct implementations (all others just call parent implementation) (DOMHTMLIFrameElement::QueryInterface): (DOMHTMLIFrameElement::contentFrame): * DOMHTMLClasses.h: Most of these function declarations have definitions that just call the parent implementation (DOMHTMLIFrameElement::DOMHTMLIFrameElement): (DOMHTMLIFrameElement::AddRef): (DOMHTMLIFrameElement::Release): (DOMHTMLIFrameElement::throwException): (DOMHTMLIFrameElement::callWebScriptMethod): (DOMHTMLIFrameElement::evaluateWebScript): (DOMHTMLIFrameElement::removeWebScriptKey): (DOMHTMLIFrameElement::stringRepresentation): (DOMHTMLIFrameElement::webScriptValueAtIndex): (DOMHTMLIFrameElement::setWebScriptValueAtIndex): (DOMHTMLIFrameElement::setException): (DOMHTMLIFrameElement::nodeName): (DOMHTMLIFrameElement::nodeValue): (DOMHTMLIFrameElement::setNodeValue): (DOMHTMLIFrameElement::nodeType): (DOMHTMLIFrameElement::parentNode): (DOMHTMLIFrameElement::childNodes): (DOMHTMLIFrameElement::firstChild): (DOMHTMLIFrameElement::lastChild): (DOMHTMLIFrameElement::previousSibling): (DOMHTMLIFrameElement::nextSibling): (DOMHTMLIFrameElement::attributes): (DOMHTMLIFrameElement::ownerDocument): (DOMHTMLIFrameElement::insertBefore): (DOMHTMLIFrameElement::replaceChild): (DOMHTMLIFrameElement::removeChild): (DOMHTMLIFrameElement::appendChild): (DOMHTMLIFrameElement::hasChildNodes): (DOMHTMLIFrameElement::cloneNode): (DOMHTMLIFrameElement::normalize): (DOMHTMLIFrameElement::isSupported): (DOMHTMLIFrameElement::namespaceURI): (DOMHTMLIFrameElement::prefix): (DOMHTMLIFrameElement::setPrefix): (DOMHTMLIFrameElement::localName): (DOMHTMLIFrameElement::hasAttributes): (DOMHTMLIFrameElement::isSameNode): (DOMHTMLIFrameElement::isEqualNode): (DOMHTMLIFrameElement::textContent): (DOMHTMLIFrameElement::setTextContent): (DOMHTMLIFrameElement::tagName): (DOMHTMLIFrameElement::getAttribute): (DOMHTMLIFrameElement::setAttribute): (DOMHTMLIFrameElement::removeAttribute): (DOMHTMLIFrameElement::getAttributeNode): (DOMHTMLIFrameElement::setAttributeNode): (DOMHTMLIFrameElement::removeAttributeNode): (DOMHTMLIFrameElement::getElementsByTagName): (DOMHTMLIFrameElement::getAttributeNS): (DOMHTMLIFrameElement::setAttributeNS): (DOMHTMLIFrameElement::removeAttributeNS): (DOMHTMLIFrameElement::getAttributeNodeNS): (DOMHTMLIFrameElement::setAttributeNodeNS): (DOMHTMLIFrameElement::getElementsByTagNameNS): (DOMHTMLIFrameElement::hasAttribute): (DOMHTMLIFrameElement::hasAttributeNS): (DOMHTMLIFrameElement::focus): (DOMHTMLIFrameElement::blur): (DOMHTMLIFrameElement::idName): (DOMHTMLIFrameElement::setIdName): (DOMHTMLIFrameElement::title): (DOMHTMLIFrameElement::setTitle): (DOMHTMLIFrameElement::lang): (DOMHTMLIFrameElement::setLang): (DOMHTMLIFrameElement::dir): (DOMHTMLIFrameElement::setDir): (DOMHTMLIFrameElement::className): (DOMHTMLIFrameElement::setClassName): (DOMHTMLIFrameElement::innerHTML): (DOMHTMLIFrameElement::setInnerHTML): (DOMHTMLIFrameElement::innerText): (DOMHTMLIFrameElement::setInnerText): * Interfaces/DOMHTML.idl: Added IDOMHTMLIFrameElement interface git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55503 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- WebKit/win/ChangeLog | 91 +++++++++++ WebKit/win/DOMCoreClasses.cpp | 11 +- WebKit/win/DOMHTMLClasses.cpp | 32 ++++ WebKit/win/DOMHTMLClasses.h | 262 ++++++++++++++++++++++++++++++ WebKit/win/Interfaces/DOMHTML.idl | 15 ++ 5 files changed, 407 insertions(+), 4 deletions(-) diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog index e8bac36a136..4ac19fa70de 100644 --- a/WebKit/win/ChangeLog +++ b/WebKit/win/ChangeLog @@ -1,3 +1,94 @@ +2010-03-03 Alice Liu + + Reviewed by Jon Honeycutt. + + Add a way to get an iframe's content frame + + * DOMCoreClasses.cpp: + (DOMElement::createInstance): + Added case for DOMHTMLIFrameElement + * DOMHTMLClasses.cpp: + Adding the few DOMHTMLIFrameElement functions definitions that have + distinct implementations (all others just call parent implementation) + (DOMHTMLIFrameElement::QueryInterface): + (DOMHTMLIFrameElement::contentFrame): + * DOMHTMLClasses.h: + Most of these function declarations have definitions that just call the parent implementation + (DOMHTMLIFrameElement::DOMHTMLIFrameElement): + (DOMHTMLIFrameElement::AddRef): + (DOMHTMLIFrameElement::Release): + (DOMHTMLIFrameElement::throwException): + (DOMHTMLIFrameElement::callWebScriptMethod): + (DOMHTMLIFrameElement::evaluateWebScript): + (DOMHTMLIFrameElement::removeWebScriptKey): + (DOMHTMLIFrameElement::stringRepresentation): + (DOMHTMLIFrameElement::webScriptValueAtIndex): + (DOMHTMLIFrameElement::setWebScriptValueAtIndex): + (DOMHTMLIFrameElement::setException): + (DOMHTMLIFrameElement::nodeName): + (DOMHTMLIFrameElement::nodeValue): + (DOMHTMLIFrameElement::setNodeValue): + (DOMHTMLIFrameElement::nodeType): + (DOMHTMLIFrameElement::parentNode): + (DOMHTMLIFrameElement::childNodes): + (DOMHTMLIFrameElement::firstChild): + (DOMHTMLIFrameElement::lastChild): + (DOMHTMLIFrameElement::previousSibling): + (DOMHTMLIFrameElement::nextSibling): + (DOMHTMLIFrameElement::attributes): + (DOMHTMLIFrameElement::ownerDocument): + (DOMHTMLIFrameElement::insertBefore): + (DOMHTMLIFrameElement::replaceChild): + (DOMHTMLIFrameElement::removeChild): + (DOMHTMLIFrameElement::appendChild): + (DOMHTMLIFrameElement::hasChildNodes): + (DOMHTMLIFrameElement::cloneNode): + (DOMHTMLIFrameElement::normalize): + (DOMHTMLIFrameElement::isSupported): + (DOMHTMLIFrameElement::namespaceURI): + (DOMHTMLIFrameElement::prefix): + (DOMHTMLIFrameElement::setPrefix): + (DOMHTMLIFrameElement::localName): + (DOMHTMLIFrameElement::hasAttributes): + (DOMHTMLIFrameElement::isSameNode): + (DOMHTMLIFrameElement::isEqualNode): + (DOMHTMLIFrameElement::textContent): + (DOMHTMLIFrameElement::setTextContent): + (DOMHTMLIFrameElement::tagName): + (DOMHTMLIFrameElement::getAttribute): + (DOMHTMLIFrameElement::setAttribute): + (DOMHTMLIFrameElement::removeAttribute): + (DOMHTMLIFrameElement::getAttributeNode): + (DOMHTMLIFrameElement::setAttributeNode): + (DOMHTMLIFrameElement::removeAttributeNode): + (DOMHTMLIFrameElement::getElementsByTagName): + (DOMHTMLIFrameElement::getAttributeNS): + (DOMHTMLIFrameElement::setAttributeNS): + (DOMHTMLIFrameElement::removeAttributeNS): + (DOMHTMLIFrameElement::getAttributeNodeNS): + (DOMHTMLIFrameElement::setAttributeNodeNS): + (DOMHTMLIFrameElement::getElementsByTagNameNS): + (DOMHTMLIFrameElement::hasAttribute): + (DOMHTMLIFrameElement::hasAttributeNS): + (DOMHTMLIFrameElement::focus): + (DOMHTMLIFrameElement::blur): + (DOMHTMLIFrameElement::idName): + (DOMHTMLIFrameElement::setIdName): + (DOMHTMLIFrameElement::title): + (DOMHTMLIFrameElement::setTitle): + (DOMHTMLIFrameElement::lang): + (DOMHTMLIFrameElement::setLang): + (DOMHTMLIFrameElement::dir): + (DOMHTMLIFrameElement::setDir): + (DOMHTMLIFrameElement::className): + (DOMHTMLIFrameElement::setClassName): + (DOMHTMLIFrameElement::innerHTML): + (DOMHTMLIFrameElement::setInnerHTML): + (DOMHTMLIFrameElement::innerText): + (DOMHTMLIFrameElement::setInnerText): + * Interfaces/DOMHTML.idl: + Added IDOMHTMLIFrameElement interface + 2010-03-03 Chris Marrin Reviewed by Simon Fraser. diff --git a/WebKit/win/DOMCoreClasses.cpp b/WebKit/win/DOMCoreClasses.cpp index 3a979fab96d..4e8af6101f4 100644 --- a/WebKit/win/DOMCoreClasses.cpp +++ b/WebKit/win/DOMCoreClasses.cpp @@ -1336,14 +1336,17 @@ IDOMElement* DOMElement::createInstance(WebCore::Element* e) if (e->hasTagName(formTag)) { DOMHTMLFormElement* newElement = new DOMHTMLFormElement(e); hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement); - } else if (e->hasTagName(selectTag)) { - DOMHTMLSelectElement* newElement = new DOMHTMLSelectElement(e); + } else if (e->hasTagName(iframeTag)) { + DOMHTMLIFrameElement* newElement = new DOMHTMLIFrameElement(e); + hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement); + } else if (e->hasTagName(inputTag)) { + DOMHTMLInputElement* newElement = new DOMHTMLInputElement(e); hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement); } else if (e->hasTagName(optionTag)) { DOMHTMLOptionElement* newElement = new DOMHTMLOptionElement(e); hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement); - } else if (e->hasTagName(inputTag)) { - DOMHTMLInputElement* newElement = new DOMHTMLInputElement(e); + } else if (e->hasTagName(selectTag)) { + DOMHTMLSelectElement* newElement = new DOMHTMLSelectElement(e); hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement); } else if (e->hasTagName(textareaTag)) { DOMHTMLTextAreaElement* newElement = new DOMHTMLTextAreaElement(e); diff --git a/WebKit/win/DOMHTMLClasses.cpp b/WebKit/win/DOMHTMLClasses.cpp index 4889ba9ddca..f9634ff8fc3 100644 --- a/WebKit/win/DOMHTMLClasses.cpp +++ b/WebKit/win/DOMHTMLClasses.cpp @@ -27,6 +27,7 @@ #include "WebKitDLL.h" #include "DOMHTMLClasses.h" #include "COMPtr.h" +#include "WebFrame.h" #pragma warning(push, 0) #include @@ -36,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -1587,3 +1589,33 @@ HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::isUserEdited( *result = TRUE; return S_OK; } + +// DOMHTMLIFrameElement - IUnknown -------------------------------------------------- + +HRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::QueryInterface(REFIID riid, void** ppvObject) +{ + *ppvObject = 0; + if (IsEqualGUID(riid, IID_IDOMHTMLIFrameElement)) + *ppvObject = static_cast(this); + else + return DOMHTMLElement::QueryInterface(riid, ppvObject); + + AddRef(); + return S_OK; +} + +// DOMHTMLIFrameElement ------------------------------------------------------------- + +HRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::contentFrame( + /* [retval][out] */ IWebFrame **result) +{ + if (!result) + return E_POINTER; + *result = 0; + ASSERT(m_element && m_element->hasTagName(iframeTag)); + HTMLIFrameElement* iFrameElement = static_cast(m_element); + COMPtr webFrame = kit(iFrameElement->contentFrame()); + if (!webFrame) + return E_FAIL; + return webFrame.copyRefTo(result); +} diff --git a/WebKit/win/DOMHTMLClasses.h b/WebKit/win/DOMHTMLClasses.h index f520c3c4ea4..baeecc91de9 100644 --- a/WebKit/win/DOMHTMLClasses.h +++ b/WebKit/win/DOMHTMLClasses.h @@ -2356,4 +2356,266 @@ public: /* [retval][out] */ BOOL *result); }; +class DOMHTMLIFrameElement : public DOMHTMLElement, public IDOMHTMLIFrameElement +{ +protected: + DOMHTMLIFrameElement(); +public: + DOMHTMLIFrameElement(WebCore::Element* e) : DOMHTMLElement(e) {} + + // IUnknown + virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); + virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); } + virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); } + + // IWebScriptObject + virtual HRESULT STDMETHODCALLTYPE throwException( + /* [in] */ BSTR exceptionMessage, + /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); } + + virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( + /* [in] */ BSTR name, + /* [size_is][in] */ const VARIANT args[ ], + /* [in] */ int cArgs, + /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); } + + virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( + /* [in] */ BSTR script, + /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); } + + virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( + /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); } + + virtual HRESULT STDMETHODCALLTYPE stringRepresentation( + /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); } + + virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( + /* [in] */ unsigned int index, + /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); } + + virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( + /* [in] */ unsigned int index, + /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); } + + virtual HRESULT STDMETHODCALLTYPE setException( + /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); } + + // IDOMNode + virtual HRESULT STDMETHODCALLTYPE nodeName( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); } + + virtual HRESULT STDMETHODCALLTYPE nodeValue( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); } + + virtual HRESULT STDMETHODCALLTYPE setNodeValue( + /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); } + + virtual HRESULT STDMETHODCALLTYPE nodeType( + /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); } + + virtual HRESULT STDMETHODCALLTYPE parentNode( + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); } + + virtual HRESULT STDMETHODCALLTYPE childNodes( + /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); } + + virtual HRESULT STDMETHODCALLTYPE firstChild( + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); } + + virtual HRESULT STDMETHODCALLTYPE lastChild( + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); } + + virtual HRESULT STDMETHODCALLTYPE previousSibling( + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); } + + virtual HRESULT STDMETHODCALLTYPE nextSibling( + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); } + + virtual HRESULT STDMETHODCALLTYPE attributes( + /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); } + + virtual HRESULT STDMETHODCALLTYPE ownerDocument( + /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); } + + virtual HRESULT STDMETHODCALLTYPE insertBefore( + /* [in] */ IDOMNode *newChild, + /* [in] */ IDOMNode *refChild, + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); } + + virtual HRESULT STDMETHODCALLTYPE replaceChild( + /* [in] */ IDOMNode *newChild, + /* [in] */ IDOMNode *oldChild, + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); } + + virtual HRESULT STDMETHODCALLTYPE removeChild( + /* [in] */ IDOMNode *oldChild, + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); } + + virtual HRESULT STDMETHODCALLTYPE appendChild( + /* [in] */ IDOMNode *oldChild, + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); } + + virtual HRESULT STDMETHODCALLTYPE hasChildNodes( + /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); } + + virtual HRESULT STDMETHODCALLTYPE cloneNode( + /* [in] */ BOOL deep, + /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); } + + virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); } + + virtual HRESULT STDMETHODCALLTYPE isSupported( + /* [in] */ BSTR feature, + /* [in] */ BSTR version, + /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); } + + virtual HRESULT STDMETHODCALLTYPE namespaceURI( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); } + + virtual HRESULT STDMETHODCALLTYPE prefix( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); } + + virtual HRESULT STDMETHODCALLTYPE setPrefix( + /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); } + + virtual HRESULT STDMETHODCALLTYPE localName( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); } + + virtual HRESULT STDMETHODCALLTYPE hasAttributes( + /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); } + + virtual HRESULT STDMETHODCALLTYPE isSameNode( + /* [in] */ IDOMNode* other, + /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); } + + virtual HRESULT STDMETHODCALLTYPE isEqualNode( + /* [in] */ IDOMNode* other, + /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); } + + virtual HRESULT STDMETHODCALLTYPE textContent( + /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); } + + virtual HRESULT STDMETHODCALLTYPE setTextContent( + /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); } + + // IDOMElement + virtual HRESULT STDMETHODCALLTYPE tagName( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); } + + virtual HRESULT STDMETHODCALLTYPE getAttribute( + /* [in] */ BSTR name, + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); } + + virtual HRESULT STDMETHODCALLTYPE setAttribute( + /* [in] */ BSTR name, + /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); } + + virtual HRESULT STDMETHODCALLTYPE removeAttribute( + /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); } + + virtual HRESULT STDMETHODCALLTYPE getAttributeNode( + /* [in] */ BSTR name, + /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); } + + virtual HRESULT STDMETHODCALLTYPE setAttributeNode( + /* [in] */ IDOMAttr *newAttr, + /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); } + + virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( + /* [in] */ IDOMAttr *oldAttr, + /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); } + + virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( + /* [in] */ BSTR name, + /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); } + + virtual HRESULT STDMETHODCALLTYPE getAttributeNS( + /* [in] */ BSTR namespaceURI, + /* [in] */ BSTR localName, + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); } + + virtual HRESULT STDMETHODCALLTYPE setAttributeNS( + /* [in] */ BSTR namespaceURI, + /* [in] */ BSTR qualifiedName, + /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); } + + virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( + /* [in] */ BSTR namespaceURI, + /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); } + + virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( + /* [in] */ BSTR namespaceURI, + /* [in] */ BSTR localName, + /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); } + + virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( + /* [in] */ IDOMAttr *newAttr, + /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); } + + virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( + /* [in] */ BSTR namespaceURI, + /* [in] */ BSTR localName, + /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); } + + virtual HRESULT STDMETHODCALLTYPE hasAttribute( + /* [in] */ BSTR name, + /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); } + + virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( + /* [in] */ BSTR namespaceURI, + /* [in] */ BSTR localName, + /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); } + + virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); } + + virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); } + + // IDOMHTMLElement + virtual HRESULT STDMETHODCALLTYPE idName( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); } + + virtual HRESULT STDMETHODCALLTYPE setIdName( + /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); } + + virtual HRESULT STDMETHODCALLTYPE title( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); } + + virtual HRESULT STDMETHODCALLTYPE setTitle( + /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); } + + virtual HRESULT STDMETHODCALLTYPE lang( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); } + + virtual HRESULT STDMETHODCALLTYPE setLang( + /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); } + + virtual HRESULT STDMETHODCALLTYPE dir( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); } + + virtual HRESULT STDMETHODCALLTYPE setDir( + /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); } + + virtual HRESULT STDMETHODCALLTYPE className( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); } + + virtual HRESULT STDMETHODCALLTYPE setClassName( + /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); } + + virtual HRESULT STDMETHODCALLTYPE innerHTML( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); } + + virtual HRESULT STDMETHODCALLTYPE setInnerHTML( + /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); } + + virtual HRESULT STDMETHODCALLTYPE innerText( + /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); } + + virtual HRESULT STDMETHODCALLTYPE setInnerText( + /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); } + + // IDOMHTMLIFrameElement + virtual HRESULT STDMETHODCALLTYPE contentFrame( + /* [retval][out] */ IWebFrame **result); +}; + #endif diff --git a/WebKit/win/Interfaces/DOMHTML.idl b/WebKit/win/Interfaces/DOMHTML.idl index 7ccb682e9fd..0ee651b3f6c 100644 --- a/WebKit/win/Interfaces/DOMHTML.idl +++ b/WebKit/win/Interfaces/DOMHTML.idl @@ -37,6 +37,7 @@ interface IDOMDocument; interface IDOMElement; interface IDOMNode; interface IDOMNodeList; +interface IWebFrame; /* @interface DOMHTMLCollection : DOMObject @@ -933,3 +934,17 @@ interface IDOMHTMLTextAreaElement : IDOMHTMLElement */ HRESULT select(); } + +/* + @interface DOMHTMLIFrameElement : DOMHTMLElement +*/ +[ + object, + oleautomation, + uuid(8CFFB1DA-7BA5-4cf7-B7E6-80583354855B), + pointer_default(unique) +] +interface IDOMHTMLIFrameElement : IDOMHTMLElement +{ + HRESULT contentFrame([out, retval] IWebFrame** result); +} -- GitLab