[Win] Replace MIDL [in/out] comments with equivalent SAL
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Aug 2015 00:00:38 +0000 (00:00 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 20 Aug 2015 00:00:38 +0000 (00:00 +0000)
https://bugs.webkit.org/show_bug.cgi?id=148001

Reviewed by Tim Horton.

../..:

* WebKit.vcxproj/Interfaces/InterfacesCommon.props: Turn
on SAL declarations in MIDL output.

../../win:

Change the many "/*[in]*/" and "/*[out]*/" comments in the
Windows interface code to use the equivalent SAL macros. This
will allow MSVC static analysis to actually enforce that these
semantics are being honored, and provide better compile-time
support for avoiding API misuse.

While making these changes, I also corrected a number of bad
style issues in the Windows code:
- Use 'nullptr' instead of 0
- Check for null input pointers instead of blindly dereferencing
them.
- Enforce the null-on-error behavior expected on COM interfaces.

* AccessibleBase.cpp:
(AccessibleBase::AccessibleBase):
(AccessibleBase::createInstance):
(AccessibleBase::QueryService):
(AccessibleBase::QueryInterface):
(AccessibleBase::Release):
(AccessibleBase::get_attribute):
(AccessibleBase::get_accessibleWithCaret):
(AccessibleBase::get_relationTargetsOfType):
(AccessibleBase::get_nRelations):
(AccessibleBase::get_relation):
(AccessibleBase::get_relations):
(AccessibleBase::role):
(AccessibleBase::scrollToPoint):
(AccessibleBase::get_groupPosition):
(AccessibleBase::get_states):
(AccessibleBase::get_extendedRole):
(AccessibleBase::get_localizedExtendedRole):
(AccessibleBase::get_nExtendedStates):
(AccessibleBase::get_extendedStates):
(AccessibleBase::get_localizedExtendedStates):
(AccessibleBase::get_uniqueID):
(AccessibleBase::get_windowHandle):
(AccessibleBase::get_indexInParent):
(AccessibleBase::get_locale):
(AccessibleBase::get_attributes):
(AccessibleBase::get_accParent):
(AccessibleBase::get_accChildCount):
(AccessibleBase::get_accChild):
(AccessibleBase::get_accName):
(AccessibleBase::get_accValue):
(AccessibleBase::get_accDescription):
(AccessibleBase::get_accRole):
(AccessibleBase::state):
(AccessibleBase::get_accState):
(AccessibleBase::get_accHelp):
(AccessibleBase::get_accKeyboardShortcut):
(AccessibleBase::accSelect):
(AccessibleBase::get_accSelection):
(AccessibleBase::get_accFocus):
(AccessibleBase::get_accDefaultAction):
(AccessibleBase::accLocation):
(AccessibleBase::accNavigate):
(AccessibleBase::accHitTest):
(AccessibleBase::accDoDefaultAction):
(AccessibleBase::wrapper):
(AccessibleBase::isSameObject):
* AccessibleBase.h:
* AccessibleTextImpl.cpp:
(AccessibleText::get_attributes):
(AccessibleText::QueryInterface):
* AccessibleTextImpl.h:
(AccessibleText::AddRef):
* CFDictionaryPropertyBag.cpp:
(CFDictionaryPropertyBag::CFDictionaryPropertyBag):
(CFDictionaryPropertyBag::QueryInterface):
(CFDictionaryPropertyBag::AddRef):
(CFDictionaryPropertyBag::Read):
(CFDictionaryPropertyBag::Write):
* CFDictionaryPropertyBag.h:
* COMEnumVariant.h:
(COMEnumVariant::COMEnumVariant):
(COMEnumVariant::~COMEnumVariant):
(COMEnumVariant<ContainerType>::QueryInterface):
(COMEnumVariant<ContainerType>::Reset):
(COMEnumVariant<ContainerType>::Clone):
* COMPropertyBag.h:
(COMPropertyBag::COMPropertyBag):
(COMPropertyBag::~COMPropertyBag):
(HashType>::QueryInterface):
(HashType>::Read):
(HashType>::Write):
(HashType>::CountProperties):
(HashType>::GetPropertyInfo):
(HashType>::LoadObject):
* DOMCSSClasses.cpp:
(DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
(DOMCSSStyleDeclaration::createInstance):
(DOMCSSStyleDeclaration::QueryInterface):
(DOMCSSStyleDeclaration::cssText):
(DOMCSSStyleDeclaration::setCssText):
(DOMCSSStyleDeclaration::getPropertyValue):
(DOMCSSStyleDeclaration::getPropertyCSSValue):
(DOMCSSStyleDeclaration::removeProperty):
(DOMCSSStyleDeclaration::getPropertyPriority):
(DOMCSSStyleDeclaration::setProperty):
(DOMCSSStyleDeclaration::length):
(DOMCSSStyleDeclaration::item):
(DOMCSSStyleDeclaration::parentRule):
* DOMCSSClasses.h:
(DOMCSSStyleDeclaration::AddRef):
(DOMCSSStyleDeclaration::Release):
(DOMCSSStyleDeclaration::throwException):
(DOMCSSStyleDeclaration::callWebScriptMethod):
(DOMCSSStyleDeclaration::evaluateWebScript):
(DOMCSSStyleDeclaration::removeWebScriptKey):
(DOMCSSStyleDeclaration::stringRepresentation):
(DOMCSSStyleDeclaration::webScriptValueAtIndex):
(DOMCSSStyleDeclaration::setWebScriptValueAtIndex):
(DOMCSSStyleDeclaration::setException):
* DOMCoreClasses.cpp:
(DOMObject::QueryInterface):
(DOMNode::QueryInterface):
(DOMNode::nodeName):
(DOMNode::nodeValue):
(DOMNode::setNodeValue):
(DOMNode::nodeType):
(DOMNode::parentNode):
(DOMNode::childNodes):
(DOMNode::firstChild):
(DOMNode::lastChild):
(DOMNode::previousSibling):
(DOMNode::nextSibling):
(DOMNode::attributes):
(DOMNode::ownerDocument):
(DOMNode::insertBefore):
(DOMNode::replaceChild):
(DOMNode::removeChild):
(DOMNode::appendChild):
(DOMNode::hasChildNodes):
(DOMNode::cloneNode):
(DOMNode::normalize):
(DOMNode::isSupported):
(DOMNode::namespaceURI):
(DOMNode::prefix):
(DOMNode::setPrefix):
(DOMNode::localName):
(DOMNode::hasAttributes):
(DOMNode::isSameNode):
(DOMNode::isEqualNode):
(DOMNode::textContent):
(DOMNode::setTextContent):
(DOMNode::addEventListener):
(DOMNode::removeEventListener):
(DOMNode::dispatchEvent):
(DOMNode::DOMNode):
(DOMNode::createInstance):
(DOMNodeList::QueryInterface):
(DOMNodeList::item):
(DOMNodeList::length):
(DOMNodeList::DOMNodeList):
(DOMNodeList::createInstance):
(DOMDocument::QueryInterface):
(DOMDocument::doctype):
(DOMDocument::implementation):
(DOMDocument::documentElement):
(DOMDocument::createElement):
(DOMDocument::createDocumentFragment):
(DOMDocument::createTextNode):
(DOMDocument::createComment):
(DOMDocument::createCDATASection):
(DOMDocument::createProcessingInstruction):
(DOMDocument::createAttribute):
(DOMDocument::createEntityReference):
(DOMDocument::getElementsByTagName):
(DOMDocument::importNode):
(DOMDocument::createElementNS):
(DOMDocument::createAttributeNS):
(DOMDocument::getElementsByTagNameNS):
(DOMDocument::getElementById):
(DOMDocument::getComputedStyle):
(DOMDocument::createEvent):
(DOMDocument::DOMDocument):
(DOMDocument::createInstance):
(DOMWindow::QueryInterface):
(DOMWindow::document):
(DOMWindow::getComputedStyle):
(DOMWindow::getMatchedCSSRules):
(DOMWindow::devicePixelRatio):
(DOMWindow::addEventListener):
(DOMWindow::removeEventListener):
(DOMWindow::dispatchEvent):
(DOMWindow::DOMWindow):
(DOMWindow::createInstance):
(DOMElement::QueryInterface):
(DOMElement::boundingBox):
(DOMElement::lineBoxRects):
(DOMElement::tagName):
(DOMElement::getAttribute):
(DOMElement::setAttribute):
(DOMElement::removeAttribute):
(DOMElement::getAttributeNode):
(DOMElement::setAttributeNode):
(DOMElement::removeAttributeNode):
(DOMElement::getElementsByTagName):
(DOMElement::getAttributeNS):
(DOMElement::setAttributeNS):
(DOMElement::removeAttributeNS):
(DOMElement::getAttributeNodeNS):
(DOMElement::setAttributeNodeNS):
(DOMElement::getElementsByTagNameNS):
(DOMElement::hasAttribute):
(DOMElement::hasAttributeNS):
(DOMElement::focus):
(DOMElement::blur):
(DOMElement::coreElement):
(DOMElement::isEqual):
(DOMElement::isFocused):
(DOMElement::innerText):
(DOMElement::font):
(DOMElement::renderedImage):
(DOMElement::markerTextForListItem):
(DOMElement::shadowPseudoId):
(DOMElement::style):
(DOMElement::offsetLeft):
(DOMElement::offsetTop):
(DOMElement::offsetWidth):
(DOMElement::offsetHeight):
(DOMElement::offsetParent):
(DOMElement::clientWidth):
(DOMElement::clientHeight):
(DOMElement::scrollLeft):
(DOMElement::setScrollLeft):
(DOMElement::scrollTop):
(DOMElement::setScrollTop):
(DOMElement::scrollWidth):
(DOMElement::scrollHeight):
(DOMElement::scrollIntoView):
(DOMElement::scrollIntoViewIfNeeded):
(DOMElement::DOMElement):
(DOMElement::createInstance):
(DOMRange::QueryInterface):
(DOMRange::createInstance):
(DOMRange::startContainer):
(DOMRange::startOffset):
(DOMRange::endContainer):
(DOMRange::endOffset):
(DOMRange::collapsed):
(DOMRange::commonAncestorContainer):
(DOMRange::setStart):
(DOMRange::setEnd):
(DOMRange::setStartBefore):
(DOMRange::setStartAfter):
(DOMRange::setEndBefore):
(DOMRange::setEndAfter):
(DOMRange::collapse):
(DOMRange::selectNode):
(DOMRange::selectNodeContents):
(DOMRange::compareBoundaryPoints):
(DOMRange::deleteContents):
(DOMRange::extractContents):
(DOMRange::cloneContents):
(DOMRange::insertNode):
(DOMRange::surroundContents):
(DOMRange::cloneRange):
(DOMRange::toString):
(DOMRange::detach):
* DOMCoreClasses.h:
(DOMObject::AddRef):
(DOMObject::Release):
(DOMObject::throwException):
(DOMObject::callWebScriptMethod):
(DOMObject::evaluateWebScript):
(DOMObject::removeWebScriptKey):
(DOMObject::stringRepresentation):
(DOMObject::webScriptValueAtIndex):
(DOMObject::setWebScriptValueAtIndex):
(DOMObject::setException):
(DOMNodeList::AddRef):
(DOMNodeList::Release):
(DOMNodeList::throwException):
(DOMNodeList::callWebScriptMethod):
(DOMNodeList::evaluateWebScript):
(DOMNodeList::removeWebScriptKey):
(DOMNodeList::stringRepresentation):
(DOMNodeList::webScriptValueAtIndex):
(DOMNodeList::setWebScriptValueAtIndex):
(DOMNodeList::setException):
(DOMDocument::AddRef):
(DOMDocument::Release):
(DOMDocument::throwException):
(DOMDocument::callWebScriptMethod):
(DOMDocument::evaluateWebScript):
(DOMDocument::removeWebScriptKey):
(DOMDocument::stringRepresentation):
(DOMDocument::webScriptValueAtIndex):
(DOMDocument::setWebScriptValueAtIndex):
(DOMDocument::setException):
(DOMDocument::nodeName):
(DOMDocument::nodeValue):
(DOMDocument::setNodeValue):
(DOMDocument::nodeType):
(DOMDocument::parentNode):
(DOMDocument::childNodes):
(DOMDocument::firstChild):
(DOMDocument::lastChild):
(DOMDocument::previousSibling):
(DOMDocument::nextSibling):
(DOMDocument::attributes):
(DOMDocument::ownerDocument):
(DOMDocument::insertBefore):
(DOMDocument::replaceChild):
(DOMDocument::removeChild):
(DOMDocument::appendChild):
(DOMDocument::hasChildNodes):
(DOMDocument::cloneNode):
(DOMDocument::normalize):
(DOMDocument::isSupported):
(DOMDocument::namespaceURI):
(DOMDocument::prefix):
(DOMDocument::setPrefix):
(DOMDocument::localName):
(DOMDocument::hasAttributes):
(DOMDocument::isSameNode):
(DOMDocument::isEqualNode):
(DOMDocument::textContent):
(DOMDocument::setTextContent):
(DOMDocument::document):
(DOMWindow::AddRef):
(DOMWindow::Release):
(DOMWindow::throwException):
(DOMWindow::callWebScriptMethod):
(DOMWindow::evaluateWebScript):
(DOMWindow::removeWebScriptKey):
(DOMWindow::stringRepresentation):
(DOMWindow::webScriptValueAtIndex):
(DOMWindow::setWebScriptValueAtIndex):
(DOMWindow::setException):
(DOMWindow::window):
(DOMElement::AddRef):
(DOMElement::Release):
(DOMElement::throwException):
(DOMElement::callWebScriptMethod):
(DOMElement::evaluateWebScript):
(DOMElement::removeWebScriptKey):
(DOMElement::stringRepresentation):
(DOMElement::webScriptValueAtIndex):
(DOMElement::setWebScriptValueAtIndex):
(DOMElement::setException):
(DOMElement::nodeName):
(DOMElement::nodeValue):
(DOMElement::setNodeValue):
(DOMElement::nodeType):
(DOMElement::parentNode):
(DOMElement::childNodes):
(DOMElement::firstChild):
(DOMElement::lastChild):
(DOMElement::previousSibling):
(DOMElement::nextSibling):
(DOMElement::attributes):
(DOMElement::ownerDocument):
(DOMElement::insertBefore):
(DOMElement::replaceChild):
(DOMElement::removeChild):
(DOMElement::appendChild):
(DOMElement::hasChildNodes):
(DOMElement::cloneNode):
(DOMElement::normalize):
(DOMElement::isSupported):
(DOMElement::namespaceURI):
(DOMElement::prefix):
(DOMElement::setPrefix):
(DOMElement::localName):
(DOMElement::hasAttributes):
(DOMElement::isSameNode):
(DOMElement::isEqualNode):
(DOMElement::textContent):
(DOMElement::setTextContent):
(DOMElement::element):
(DOMRange::AddRef):
(DOMRange::Release):
(DOMRange::throwException):
(DOMRange::callWebScriptMethod):
(DOMRange::evaluateWebScript):
(DOMRange::removeWebScriptKey):
(DOMRange::stringRepresentation):
(DOMRange::webScriptValueAtIndex):
(DOMRange::setWebScriptValueAtIndex):
(DOMRange::setException):
* DOMEventsClasses.cpp:
(DOMEventListener::QueryInterface):
(DOMEventListener::handleEvent):
(DOMEvent::DOMEvent):
(DOMEvent::createInstance):
(DOMEvent::QueryInterface):
(DOMEvent::type):
(DOMEvent::target):
(DOMEvent::currentTarget):
(DOMEvent::eventPhase):
(DOMEvent::bubbles):
(DOMEvent::cancelable):
(DOMEvent::timeStamp):
(DOMEvent::stopPropagation):
(DOMEvent::preventDefault):
(DOMEvent::initEvent):
(DOMUIEvent::QueryInterface):
(DOMUIEvent::view):
(DOMUIEvent::detail):
(DOMUIEvent::initUIEvent):
(DOMUIEvent::keyCode):
(DOMUIEvent::charCode):
(DOMUIEvent::unused1):
(DOMUIEvent::unused2):
(DOMUIEvent::pageX):
(DOMUIEvent::pageY):
(DOMUIEvent::which):
(DOMKeyboardEvent::QueryInterface):
(DOMKeyboardEvent::keyIdentifier):
(DOMKeyboardEvent::location):
(DOMKeyboardEvent::keyLocation):
(DOMKeyboardEvent::ctrlKey):
(DOMKeyboardEvent::shiftKey):
(DOMKeyboardEvent::altKey):
(DOMKeyboardEvent::metaKey):
(DOMKeyboardEvent::altGraphKey):
(DOMKeyboardEvent::getModifierState):
(DOMKeyboardEvent::initKeyboardEvent):
(DOMMouseEvent::QueryInterface):
(DOMMouseEvent::screenX):
(DOMMouseEvent::screenY):
(DOMMouseEvent::clientX):
(DOMMouseEvent::clientY):
(DOMMouseEvent::ctrlKey):
(DOMMouseEvent::shiftKey):
(DOMMouseEvent::altKey):
(DOMMouseEvent::metaKey):
(DOMMouseEvent::button):
(DOMMouseEvent::relatedTarget):
(DOMMouseEvent::initMouseEvent):
(DOMMouseEvent::offsetX):
(DOMMouseEvent::offsetY):
(DOMMouseEvent::x):
(DOMMouseEvent::y):
(DOMMouseEvent::fromElement):
(DOMMouseEvent::toElement):
(DOMMutationEvent::QueryInterface):
(DOMMutationEvent::relatedNode):
(DOMMutationEvent::prevValue):
(DOMMutationEvent::newValue):
(DOMMutationEvent::attrName):
(DOMMutationEvent::attrChange):
(DOMMutationEvent::initMutationEvent):
(DOMOverflowEvent::QueryInterface):
(DOMOverflowEvent::orient):
(DOMOverflowEvent::horizontalOverflow):
(DOMOverflowEvent::verticalOverflow):
(DOMWheelEvent::QueryInterface):
(DOMWheelEvent::screenX):
(DOMWheelEvent::screenY):
(DOMWheelEvent::clientX):
(DOMWheelEvent::clientY):
(DOMWheelEvent::ctrlKey):
(DOMWheelEvent::shiftKey):
(DOMWheelEvent::altKey):
(DOMWheelEvent::metaKey):
(DOMWheelEvent::wheelDelta):
(DOMWheelEvent::wheelDeltaX):
(DOMWheelEvent::wheelDeltaY):
(DOMWheelEvent::offsetX):
(DOMWheelEvent::offsetY):
(DOMWheelEvent::x):
(DOMWheelEvent::y):
(DOMWheelEvent::isHorizontal):
(DOMWheelEvent::initWheelEvent):
* DOMEventsClasses.h:
(DOMEventListener::AddRef):
(DOMEventListener::Release):
(DOMEventListener::throwException):
(DOMEventListener::callWebScriptMethod):
(DOMEventListener::evaluateWebScript):
(DOMEventListener::removeWebScriptKey):
(DOMEventListener::stringRepresentation):
(DOMEventListener::webScriptValueAtIndex):
(DOMEventListener::setWebScriptValueAtIndex):
(DOMEventListener::setException):
(DOMEvent::AddRef):
(DOMEvent::Release):
(DOMEvent::throwException):
(DOMEvent::callWebScriptMethod):
(DOMEvent::evaluateWebScript):
(DOMEvent::removeWebScriptKey):
(DOMEvent::stringRepresentation):
(DOMEvent::webScriptValueAtIndex):
(DOMEvent::setWebScriptValueAtIndex):
(DOMEvent::setException):
(DOMEvent::coreEvent):
(DOMUIEvent::DOMUIEvent):
(DOMUIEvent::AddRef):
(DOMUIEvent::Release):
(DOMUIEvent::throwException):
(DOMUIEvent::callWebScriptMethod):
(DOMUIEvent::evaluateWebScript):
(DOMUIEvent::removeWebScriptKey):
(DOMUIEvent::stringRepresentation):
(DOMUIEvent::webScriptValueAtIndex):
(DOMUIEvent::setWebScriptValueAtIndex):
(DOMUIEvent::setException):
(DOMUIEvent::type):
(DOMUIEvent::target):
(DOMUIEvent::currentTarget):
(DOMUIEvent::eventPhase):
(DOMUIEvent::bubbles):
(DOMUIEvent::cancelable):
(DOMUIEvent::timeStamp):
(DOMUIEvent::stopPropagation):
(DOMUIEvent::preventDefault):
(DOMUIEvent::initEvent):
(DOMKeyboardEvent::DOMKeyboardEvent):
(DOMKeyboardEvent::AddRef):
(DOMKeyboardEvent::Release):
(DOMKeyboardEvent::throwException):
(DOMKeyboardEvent::callWebScriptMethod):
(DOMKeyboardEvent::evaluateWebScript):
(DOMKeyboardEvent::removeWebScriptKey):
(DOMKeyboardEvent::stringRepresentation):
(DOMKeyboardEvent::webScriptValueAtIndex):
(DOMKeyboardEvent::setWebScriptValueAtIndex):
(DOMKeyboardEvent::setException):
(DOMKeyboardEvent::type):
(DOMKeyboardEvent::target):
(DOMKeyboardEvent::currentTarget):
(DOMKeyboardEvent::eventPhase):
(DOMKeyboardEvent::bubbles):
(DOMKeyboardEvent::cancelable):
(DOMKeyboardEvent::timeStamp):
(DOMKeyboardEvent::stopPropagation):
(DOMKeyboardEvent::preventDefault):
(DOMKeyboardEvent::initEvent):
(DOMKeyboardEvent::view):
(DOMKeyboardEvent::detail):
(DOMKeyboardEvent::initUIEvent):
(DOMKeyboardEvent::keyCode):
(DOMKeyboardEvent::charCode):
(DOMKeyboardEvent::unused1):
(DOMKeyboardEvent::unused2):
(DOMKeyboardEvent::pageX):
(DOMKeyboardEvent::pageY):
(DOMKeyboardEvent::which):
(DOMMouseEvent::DOMMouseEvent):
(DOMMouseEvent::AddRef):
(DOMMouseEvent::Release):
(DOMMouseEvent::throwException):
(DOMMouseEvent::callWebScriptMethod):
(DOMMouseEvent::evaluateWebScript):
(DOMMouseEvent::removeWebScriptKey):
(DOMMouseEvent::stringRepresentation):
(DOMMouseEvent::webScriptValueAtIndex):
(DOMMouseEvent::setWebScriptValueAtIndex):
(DOMMouseEvent::setException):
(DOMMouseEvent::type):
(DOMMouseEvent::target):
(DOMMouseEvent::currentTarget):
(DOMMouseEvent::eventPhase):
(DOMMouseEvent::bubbles):
(DOMMouseEvent::cancelable):
(DOMMouseEvent::timeStamp):
(DOMMouseEvent::stopPropagation):
(DOMMouseEvent::preventDefault):
(DOMMouseEvent::initEvent):
(DOMMouseEvent::view):
(DOMMouseEvent::detail):
(DOMMouseEvent::initUIEvent):
(DOMMouseEvent::keyCode):
(DOMMouseEvent::charCode):
(DOMMouseEvent::unused1):
(DOMMouseEvent::unused2):
(DOMMouseEvent::pageX):
(DOMMouseEvent::pageY):
(DOMMouseEvent::which):
(DOMMutationEvent::DOMMutationEvent):
(DOMMutationEvent::AddRef):
(DOMMutationEvent::Release):
(DOMMutationEvent::throwException):
(DOMMutationEvent::callWebScriptMethod):
(DOMMutationEvent::evaluateWebScript):
(DOMMutationEvent::removeWebScriptKey):
(DOMMutationEvent::stringRepresentation):
(DOMMutationEvent::webScriptValueAtIndex):
(DOMMutationEvent::setWebScriptValueAtIndex):
(DOMMutationEvent::setException):
(DOMMutationEvent::type):
(DOMMutationEvent::target):
(DOMMutationEvent::currentTarget):
(DOMMutationEvent::eventPhase):
(DOMMutationEvent::bubbles):
(DOMMutationEvent::cancelable):
(DOMMutationEvent::timeStamp):
(DOMMutationEvent::stopPropagation):
(DOMMutationEvent::preventDefault):
(DOMMutationEvent::initEvent):
(DOMOverflowEvent::DOMOverflowEvent):
(DOMOverflowEvent::AddRef):
(DOMOverflowEvent::Release):
(DOMOverflowEvent::throwException):
(DOMOverflowEvent::callWebScriptMethod):
(DOMOverflowEvent::evaluateWebScript):
(DOMOverflowEvent::removeWebScriptKey):
(DOMOverflowEvent::stringRepresentation):
(DOMOverflowEvent::webScriptValueAtIndex):
(DOMOverflowEvent::setWebScriptValueAtIndex):
(DOMOverflowEvent::setException):
(DOMOverflowEvent::type):
(DOMOverflowEvent::target):
(DOMOverflowEvent::currentTarget):
(DOMOverflowEvent::eventPhase):
(DOMOverflowEvent::bubbles):
(DOMOverflowEvent::cancelable):
(DOMOverflowEvent::timeStamp):
(DOMOverflowEvent::stopPropagation):
(DOMOverflowEvent::preventDefault):
(DOMOverflowEvent::initEvent):
(DOMWheelEvent::DOMWheelEvent):
(DOMWheelEvent::AddRef):
(DOMWheelEvent::Release):
(DOMWheelEvent::throwException):
(DOMWheelEvent::callWebScriptMethod):
(DOMWheelEvent::evaluateWebScript):
(DOMWheelEvent::removeWebScriptKey):
(DOMWheelEvent::stringRepresentation):
(DOMWheelEvent::webScriptValueAtIndex):
(DOMWheelEvent::setWebScriptValueAtIndex):
(DOMWheelEvent::setException):
(DOMWheelEvent::type):
(DOMWheelEvent::target):
(DOMWheelEvent::currentTarget):
(DOMWheelEvent::eventPhase):
(DOMWheelEvent::bubbles):
(DOMWheelEvent::cancelable):
(DOMWheelEvent::timeStamp):
(DOMWheelEvent::stopPropagation):
(DOMWheelEvent::preventDefault):
(DOMWheelEvent::initEvent):
(DOMWheelEvent::view):
(DOMWheelEvent::detail):
(DOMWheelEvent::initUIEvent):
(DOMWheelEvent::keyCode):
(DOMWheelEvent::charCode):
(DOMWheelEvent::unused1):
(DOMWheelEvent::unused2):
(DOMWheelEvent::pageX):
(DOMWheelEvent::pageY):
(DOMWheelEvent::which):
* DOMHTMLClasses.cpp:
(DOMHTMLCollection::QueryInterface):
(DOMHTMLCollection::length):
(DOMHTMLCollection::item):
(DOMHTMLCollection::namedItem):
(DOMHTMLOptionsCollection::QueryInterface):
(DOMHTMLOptionsCollection::createInstance):
(DOMHTMLOptionsCollection::length):
(DOMHTMLOptionsCollection::setLength):
(DOMHTMLOptionsCollection::item):
(DOMHTMLOptionsCollection::namedItem):
(DOMHTMLDocument::QueryInterface):
(DOMHTMLDocument::title):
(DOMHTMLDocument::setTitle):
(DOMHTMLDocument::referrer):
(DOMHTMLDocument::domain):
(DOMHTMLDocument::URL):
(DOMHTMLDocument::body):
(DOMHTMLDocument::setBody):
(DOMHTMLDocument::images):
(DOMHTMLDocument::applets):
(DOMHTMLDocument::links):
(DOMHTMLDocument::forms):
(DOMHTMLDocument::anchors):
(DOMHTMLDocument::cookie):
(DOMHTMLDocument::setCookie):
(DOMHTMLDocument::open):
(DOMHTMLDocument::close):
(DOMHTMLDocument::write):
(DOMHTMLDocument::writeln):
(DOMHTMLDocument::getElementById_):
(DOMHTMLDocument::getElementsByName):
(DOMHTMLElement::QueryInterface):
(DOMHTMLElement::idName):
(DOMHTMLElement::setIdName):
(DOMHTMLElement::title):
(DOMHTMLElement::setTitle):
(DOMHTMLElement::lang):
(DOMHTMLElement::setLang):
(DOMHTMLElement::dir):
(DOMHTMLElement::setDir):
(DOMHTMLElement::className):
(DOMHTMLElement::setClassName):
(DOMHTMLElement::innerHTML):
(DOMHTMLElement::setInnerHTML):
(DOMHTMLElement::innerText):
(DOMHTMLElement::setInnerText):
(DOMHTMLFormElement::QueryInterface):
(DOMHTMLFormElement::elements):
(DOMHTMLFormElement::length):
(DOMHTMLFormElement::name):
(DOMHTMLFormElement::setName):
(DOMHTMLFormElement::acceptCharset):
(DOMHTMLFormElement::setAcceptCharset):
(DOMHTMLFormElement::action):
(DOMHTMLFormElement::setAction):
(DOMHTMLFormElement::encType):
(DOMHTMLFormElement::setEnctype):
(DOMHTMLFormElement::method):
(DOMHTMLFormElement::setMethod):
(DOMHTMLFormElement::target):
(DOMHTMLFormElement::setTarget):
(DOMHTMLFormElement::submit):
(DOMHTMLFormElement::reset):
(DOMHTMLSelectElement::QueryInterface):
(DOMHTMLSelectElement::type):
(DOMHTMLSelectElement::selectedIndex):
(DOMHTMLSelectElement::setSelectedIndx):
(DOMHTMLSelectElement::value):
(DOMHTMLSelectElement::setValue):
(DOMHTMLSelectElement::length):
(DOMHTMLSelectElement::form):
(DOMHTMLSelectElement::options):
(DOMHTMLSelectElement::disabled):
(DOMHTMLSelectElement::setDisabled):
(DOMHTMLSelectElement::multiple):
(DOMHTMLSelectElement::setMultiple):
(DOMHTMLSelectElement::name):
(DOMHTMLSelectElement::setName):
(DOMHTMLSelectElement::size):
(DOMHTMLSelectElement::setSize):
(DOMHTMLSelectElement::tabIndex):
(DOMHTMLSelectElement::setTabIndex):
(DOMHTMLSelectElement::add):
(DOMHTMLSelectElement::remove):
(DOMHTMLSelectElement::activateItemAtIndex):
(DOMHTMLOptionElement::QueryInterface):
(DOMHTMLOptionElement::form):
(DOMHTMLOptionElement::defaultSelected):
(DOMHTMLOptionElement::setDefaultSelected):
(DOMHTMLOptionElement::text):
(DOMHTMLOptionElement::index):
(DOMHTMLOptionElement::disabled):
(DOMHTMLOptionElement::setDisabled):
(DOMHTMLOptionElement::label):
(DOMHTMLOptionElement::setLabel):
(DOMHTMLOptionElement::selected):
(DOMHTMLOptionElement::setSelected):
(DOMHTMLOptionElement::value):
(DOMHTMLOptionElement::setValue):
(DOMHTMLInputElement::QueryInterface):
(DOMHTMLInputElement::defaultValue):
(DOMHTMLInputElement::setDefaultValue):
(DOMHTMLInputElement::defaultChecked):
(DOMHTMLInputElement::setDefaultChecked):
(DOMHTMLInputElement::form):
(DOMHTMLInputElement::accept):
(DOMHTMLInputElement::setAccept):
(DOMHTMLInputElement::accessKey):
(DOMHTMLInputElement::setAccessKey):
(DOMHTMLInputElement::align):
(DOMHTMLInputElement::setAlign):
(DOMHTMLInputElement::alt):
(DOMHTMLInputElement::setAlt):
(DOMHTMLInputElement::checked):
(DOMHTMLInputElement::setChecked):
(DOMHTMLInputElement::disabled):
(DOMHTMLInputElement::setDisabled):
(DOMHTMLInputElement::maxLength):
(DOMHTMLInputElement::setMaxLength):
(DOMHTMLInputElement::name):
(DOMHTMLInputElement::setName):
(DOMHTMLInputElement::readOnly):
(DOMHTMLInputElement::setReadOnly):
(DOMHTMLInputElement::size):
(DOMHTMLInputElement::setSize):
(DOMHTMLInputElement::src):
(DOMHTMLInputElement::setSrc):
(DOMHTMLInputElement::tabIndex):
(DOMHTMLInputElement::setTabIndex):
(DOMHTMLInputElement::type):
(DOMHTMLInputElement::setType):
(DOMHTMLInputElement::useMap):
(DOMHTMLInputElement::setUseMap):
(DOMHTMLInputElement::value):
(DOMHTMLInputElement::setValue):
(DOMHTMLInputElement::setValueForUser):
(DOMHTMLInputElement::select):
(DOMHTMLInputElement::click):
(DOMHTMLInputElement::setSelectionStart):
(DOMHTMLInputElement::selectionStart):
(DOMHTMLInputElement::setSelectionEnd):
(DOMHTMLInputElement::selectionEnd):
(DOMHTMLInputElement::isTextField):
(DOMHTMLInputElement::rectOnScreen):
(DOMHTMLInputElement::replaceCharactersInRange):
(DOMHTMLInputElement::selectedRange):
(DOMHTMLInputElement::setAutofilled):
(DOMHTMLInputElement::isAutofilled):
(DOMHTMLInputElement::isUserEdited):
(DOMHTMLTextAreaElement::QueryInterface):
(DOMHTMLTextAreaElement::defaultValue):
(DOMHTMLTextAreaElement::setDefaultValue):
(DOMHTMLTextAreaElement::form):
(DOMHTMLTextAreaElement::accessKey):
(DOMHTMLTextAreaElement::setAccessKey):
(DOMHTMLTextAreaElement::cols):
(DOMHTMLTextAreaElement::setCols):
(DOMHTMLTextAreaElement::disabled):
(DOMHTMLTextAreaElement::setDisabled):
(DOMHTMLTextAreaElement::name):
(DOMHTMLTextAreaElement::setName):
(DOMHTMLTextAreaElement::readOnly):
(DOMHTMLTextAreaElement::setReadOnly):
(DOMHTMLTextAreaElement::rows):
(DOMHTMLTextAreaElement::setRows):
(DOMHTMLTextAreaElement::tabIndex):
(DOMHTMLTextAreaElement::setTabIndex):
(DOMHTMLTextAreaElement::type):
(DOMHTMLTextAreaElement::value):
(DOMHTMLTextAreaElement::setValue):
(DOMHTMLTextAreaElement::select):
(DOMHTMLTextAreaElement::isUserEdited):
(DOMHTMLIFrameElement::QueryInterface):
(DOMHTMLIFrameElement::contentFrame):
* DOMHTMLClasses.h:
(DOMHTMLCollection::AddRef):
(DOMHTMLCollection::Release):
(DOMHTMLCollection::throwException):
(DOMHTMLCollection::callWebScriptMethod):
(DOMHTMLCollection::evaluateWebScript):
(DOMHTMLCollection::removeWebScriptKey):
(DOMHTMLCollection::stringRepresentation):
(DOMHTMLCollection::webScriptValueAtIndex):
(DOMHTMLCollection::setWebScriptValueAtIndex):
(DOMHTMLCollection::setException):
(DOMHTMLOptionsCollection::AddRef):
(DOMHTMLOptionsCollection::Release):
(DOMHTMLOptionsCollection::throwException):
(DOMHTMLOptionsCollection::callWebScriptMethod):
(DOMHTMLOptionsCollection::evaluateWebScript):
(DOMHTMLOptionsCollection::removeWebScriptKey):
(DOMHTMLOptionsCollection::stringRepresentation):
(DOMHTMLOptionsCollection::webScriptValueAtIndex):
(DOMHTMLOptionsCollection::setWebScriptValueAtIndex):
(DOMHTMLOptionsCollection::setException):
(DOMHTMLDocument::DOMHTMLDocument):
(DOMHTMLDocument::AddRef):
(DOMHTMLDocument::Release):
(DOMHTMLDocument::throwException):
(DOMHTMLDocument::callWebScriptMethod):
(DOMHTMLDocument::evaluateWebScript):
(DOMHTMLDocument::removeWebScriptKey):
(DOMHTMLDocument::stringRepresentation):
(DOMHTMLDocument::webScriptValueAtIndex):
(DOMHTMLDocument::setWebScriptValueAtIndex):
(DOMHTMLDocument::setException):
(DOMHTMLDocument::nodeName):
(DOMHTMLDocument::nodeValue):
(DOMHTMLDocument::setNodeValue):
(DOMHTMLDocument::nodeType):
(DOMHTMLDocument::parentNode):
(DOMHTMLDocument::childNodes):
(DOMHTMLDocument::firstChild):
(DOMHTMLDocument::lastChild):
(DOMHTMLDocument::previousSibling):
(DOMHTMLDocument::nextSibling):
(DOMHTMLDocument::attributes):
(DOMHTMLDocument::ownerDocument):
(DOMHTMLDocument::insertBefore):
(DOMHTMLDocument::replaceChild):
(DOMHTMLDocument::removeChild):
(DOMHTMLDocument::appendChild):
(DOMHTMLDocument::hasChildNodes):
(DOMHTMLDocument::cloneNode):
(DOMHTMLDocument::normalize):
(DOMHTMLDocument::isSupported):
(DOMHTMLDocument::namespaceURI):
(DOMHTMLDocument::prefix):
(DOMHTMLDocument::setPrefix):
(DOMHTMLDocument::localName):
(DOMHTMLDocument::hasAttributes):
(DOMHTMLDocument::isSameNode):
(DOMHTMLDocument::isEqualNode):
(DOMHTMLDocument::textContent):
(DOMHTMLDocument::setTextContent):
(DOMHTMLDocument::doctype):
(DOMHTMLDocument::implementation):
(DOMHTMLDocument::documentElement):
(DOMHTMLDocument::createElement):
(DOMHTMLDocument::createDocumentFragment):
(DOMHTMLDocument::createTextNode):
(DOMHTMLDocument::createComment):
(DOMHTMLDocument::createCDATASection):
(DOMHTMLDocument::createProcessingInstruction):
(DOMHTMLDocument::createAttribute):
(DOMHTMLDocument::createEntityReference):
(DOMHTMLDocument::getElementsByTagName):
(DOMHTMLDocument::importNode):
(DOMHTMLDocument::createElementNS):
(DOMHTMLDocument::createAttributeNS):
(DOMHTMLDocument::getElementsByTagNameNS):
(DOMHTMLDocument::getElementById):
(DOMHTMLElement::DOMHTMLElement):
(DOMHTMLElement::AddRef):
(DOMHTMLElement::Release):
(DOMHTMLElement::throwException):
(DOMHTMLElement::callWebScriptMethod):
(DOMHTMLElement::evaluateWebScript):
(DOMHTMLElement::removeWebScriptKey):
(DOMHTMLElement::stringRepresentation):
(DOMHTMLElement::webScriptValueAtIndex):
(DOMHTMLElement::setWebScriptValueAtIndex):
(DOMHTMLElement::setException):
(DOMHTMLElement::nodeName):
(DOMHTMLElement::nodeValue):
(DOMHTMLElement::setNodeValue):
(DOMHTMLElement::nodeType):
(DOMHTMLElement::parentNode):
(DOMHTMLElement::childNodes):
(DOMHTMLElement::firstChild):
(DOMHTMLElement::lastChild):
(DOMHTMLElement::previousSibling):
(DOMHTMLElement::nextSibling):
(DOMHTMLElement::attributes):
(DOMHTMLElement::ownerDocument):
(DOMHTMLElement::insertBefore):
(DOMHTMLElement::replaceChild):
(DOMHTMLElement::removeChild):
(DOMHTMLElement::appendChild):
(DOMHTMLElement::hasChildNodes):
(DOMHTMLElement::cloneNode):
(DOMHTMLElement::normalize):
(DOMHTMLElement::isSupported):
(DOMHTMLElement::namespaceURI):
(DOMHTMLElement::prefix):
(DOMHTMLElement::setPrefix):
(DOMHTMLElement::localName):
(DOMHTMLElement::hasAttributes):
(DOMHTMLElement::isSameNode):
(DOMHTMLElement::isEqualNode):
(DOMHTMLElement::textContent):
(DOMHTMLElement::setTextContent):
(DOMHTMLElement::tagName):
(DOMHTMLElement::getAttribute):
(DOMHTMLElement::setAttribute):
(DOMHTMLElement::removeAttribute):
(DOMHTMLElement::getAttributeNode):
(DOMHTMLElement::setAttributeNode):
(DOMHTMLElement::removeAttributeNode):
(DOMHTMLElement::getElementsByTagName):
(DOMHTMLElement::getAttributeNS):
(DOMHTMLElement::setAttributeNS):
(DOMHTMLElement::removeAttributeNS):
(DOMHTMLElement::getAttributeNodeNS):
(DOMHTMLElement::setAttributeNodeNS):
(DOMHTMLElement::getElementsByTagNameNS):
(DOMHTMLElement::hasAttribute):
(DOMHTMLElement::hasAttributeNS):
(DOMHTMLElement::focus):
(DOMHTMLElement::blur):
(DOMHTMLFormElement::DOMHTMLFormElement):
(DOMHTMLFormElement::AddRef):
(DOMHTMLFormElement::Release):
(DOMHTMLFormElement::throwException):
(DOMHTMLFormElement::callWebScriptMethod):
(DOMHTMLFormElement::evaluateWebScript):
(DOMHTMLFormElement::removeWebScriptKey):
(DOMHTMLFormElement::stringRepresentation):
(DOMHTMLFormElement::webScriptValueAtIndex):
(DOMHTMLFormElement::setWebScriptValueAtIndex):
(DOMHTMLFormElement::setException):
(DOMHTMLFormElement::nodeName):
(DOMHTMLFormElement::nodeValue):
(DOMHTMLFormElement::setNodeValue):
(DOMHTMLFormElement::nodeType):
(DOMHTMLFormElement::parentNode):
(DOMHTMLFormElement::childNodes):
(DOMHTMLFormElement::firstChild):
(DOMHTMLFormElement::lastChild):
(DOMHTMLFormElement::previousSibling):
(DOMHTMLFormElement::nextSibling):
(DOMHTMLFormElement::attributes):
(DOMHTMLFormElement::ownerDocument):
(DOMHTMLFormElement::insertBefore):
(DOMHTMLFormElement::replaceChild):
(DOMHTMLFormElement::removeChild):
(DOMHTMLFormElement::appendChild):
(DOMHTMLFormElement::hasChildNodes):
(DOMHTMLFormElement::cloneNode):
(DOMHTMLFormElement::normalize):
(DOMHTMLFormElement::isSupported):
(DOMHTMLFormElement::namespaceURI):
(DOMHTMLFormElement::prefix):
(DOMHTMLFormElement::setPrefix):
(DOMHTMLFormElement::localName):
(DOMHTMLFormElement::hasAttributes):
(DOMHTMLFormElement::isSameNode):
(DOMHTMLFormElement::isEqualNode):
(DOMHTMLFormElement::textContent):
(DOMHTMLFormElement::setTextContent):
(DOMHTMLFormElement::tagName):
(DOMHTMLFormElement::getAttribute):
(DOMHTMLFormElement::setAttribute):
(DOMHTMLFormElement::removeAttribute):
(DOMHTMLFormElement::getAttributeNode):
(DOMHTMLFormElement::setAttributeNode):
(DOMHTMLFormElement::removeAttributeNode):
(DOMHTMLFormElement::getElementsByTagName):
(DOMHTMLFormElement::getAttributeNS):
(DOMHTMLFormElement::setAttributeNS):
(DOMHTMLFormElement::removeAttributeNS):
(DOMHTMLFormElement::getAttributeNodeNS):
(DOMHTMLFormElement::setAttributeNodeNS):
(DOMHTMLFormElement::getElementsByTagNameNS):
(DOMHTMLFormElement::hasAttribute):
(DOMHTMLFormElement::hasAttributeNS):
(DOMHTMLFormElement::focus):
(DOMHTMLFormElement::blur):
(DOMHTMLFormElement::idName):
(DOMHTMLFormElement::setIdName):
(DOMHTMLFormElement::title):
(DOMHTMLFormElement::setTitle):
(DOMHTMLFormElement::lang):
(DOMHTMLFormElement::setLang):
(DOMHTMLFormElement::dir):
(DOMHTMLFormElement::setDir):
(DOMHTMLFormElement::className):
(DOMHTMLFormElement::setClassName):
(DOMHTMLFormElement::innerHTML):
(DOMHTMLFormElement::setInnerHTML):
(DOMHTMLFormElement::innerText):
(DOMHTMLFormElement::setInnerText):
(DOMHTMLSelectElement::DOMHTMLSelectElement):
(DOMHTMLSelectElement::AddRef):
(DOMHTMLSelectElement::Release):
(DOMHTMLSelectElement::throwException):
(DOMHTMLSelectElement::callWebScriptMethod):
(DOMHTMLSelectElement::evaluateWebScript):
(DOMHTMLSelectElement::removeWebScriptKey):
(DOMHTMLSelectElement::stringRepresentation):
(DOMHTMLSelectElement::webScriptValueAtIndex):
(DOMHTMLSelectElement::setWebScriptValueAtIndex):
(DOMHTMLSelectElement::setException):
(DOMHTMLSelectElement::nodeName):
(DOMHTMLSelectElement::nodeValue):
(DOMHTMLSelectElement::setNodeValue):
(DOMHTMLSelectElement::nodeType):
(DOMHTMLSelectElement::parentNode):
(DOMHTMLSelectElement::childNodes):
(DOMHTMLSelectElement::firstChild):
(DOMHTMLSelectElement::lastChild):
(DOMHTMLSelectElement::previousSibling):
(DOMHTMLSelectElement::nextSibling):
(DOMHTMLSelectElement::attributes):
(DOMHTMLSelectElement::ownerDocument):
(DOMHTMLSelectElement::insertBefore):
(DOMHTMLSelectElement::replaceChild):
(DOMHTMLSelectElement::removeChild):
(DOMHTMLSelectElement::appendChild):
(DOMHTMLSelectElement::hasChildNodes):
(DOMHTMLSelectElement::cloneNode):
(DOMHTMLSelectElement::normalize):
(DOMHTMLSelectElement::isSupported):
(DOMHTMLSelectElement::namespaceURI):
(DOMHTMLSelectElement::prefix):
(DOMHTMLSelectElement::setPrefix):
(DOMHTMLSelectElement::localName):
(DOMHTMLSelectElement::hasAttributes):
(DOMHTMLSelectElement::isSameNode):
(DOMHTMLSelectElement::isEqualNode):
(DOMHTMLSelectElement::textContent):
(DOMHTMLSelectElement::setTextContent):
(DOMHTMLSelectElement::tagName):
(DOMHTMLSelectElement::getAttribute):
(DOMHTMLSelectElement::setAttribute):
(DOMHTMLSelectElement::removeAttribute):
(DOMHTMLSelectElement::getAttributeNode):
(DOMHTMLSelectElement::setAttributeNode):
(DOMHTMLSelectElement::removeAttributeNode):
(DOMHTMLSelectElement::getElementsByTagName):
(DOMHTMLSelectElement::getAttributeNS):
(DOMHTMLSelectElement::setAttributeNS):
(DOMHTMLSelectElement::removeAttributeNS):
(DOMHTMLSelectElement::getAttributeNodeNS):
(DOMHTMLSelectElement::setAttributeNodeNS):
(DOMHTMLSelectElement::getElementsByTagNameNS):
(DOMHTMLSelectElement::hasAttribute):
(DOMHTMLSelectElement::hasAttributeNS):
(DOMHTMLSelectElement::focus):
(DOMHTMLSelectElement::blur):
(DOMHTMLSelectElement::idName):
(DOMHTMLSelectElement::setIdName):
(DOMHTMLSelectElement::title):
(DOMHTMLSelectElement::setTitle):
(DOMHTMLSelectElement::lang):
(DOMHTMLSelectElement::setLang):
(DOMHTMLSelectElement::dir):
(DOMHTMLSelectElement::setDir):
(DOMHTMLSelectElement::className):
(DOMHTMLSelectElement::setClassName):
(DOMHTMLSelectElement::innerHTML):
(DOMHTMLSelectElement::setInnerHTML):
(DOMHTMLSelectElement::innerText):
(DOMHTMLSelectElement::setInnerText):
(DOMHTMLOptionElement::DOMHTMLOptionElement):
(DOMHTMLOptionElement::AddRef):
(DOMHTMLOptionElement::Release):
(DOMHTMLOptionElement::throwException):
(DOMHTMLOptionElement::callWebScriptMethod):
(DOMHTMLOptionElement::evaluateWebScript):
(DOMHTMLOptionElement::removeWebScriptKey):
(DOMHTMLOptionElement::stringRepresentation):
(DOMHTMLOptionElement::webScriptValueAtIndex):
(DOMHTMLOptionElement::setWebScriptValueAtIndex):
(DOMHTMLOptionElement::setException):
(DOMHTMLOptionElement::nodeName):
(DOMHTMLOptionElement::nodeValue):
(DOMHTMLOptionElement::setNodeValue):
(DOMHTMLOptionElement::nodeType):
(DOMHTMLOptionElement::parentNode):
(DOMHTMLOptionElement::childNodes):
(DOMHTMLOptionElement::firstChild):
(DOMHTMLOptionElement::lastChild):
(DOMHTMLOptionElement::previousSibling):
(DOMHTMLOptionElement::nextSibling):
(DOMHTMLOptionElement::attributes):
(DOMHTMLOptionElement::ownerDocument):
(DOMHTMLOptionElement::insertBefore):
(DOMHTMLOptionElement::replaceChild):
(DOMHTMLOptionElement::removeChild):
(DOMHTMLOptionElement::appendChild):
(DOMHTMLOptionElement::hasChildNodes):
(DOMHTMLOptionElement::cloneNode):
(DOMHTMLOptionElement::normalize):
(DOMHTMLOptionElement::isSupported):
(DOMHTMLOptionElement::namespaceURI):
(DOMHTMLOptionElement::prefix):
(DOMHTMLOptionElement::setPrefix):
(DOMHTMLOptionElement::localName):
(DOMHTMLOptionElement::hasAttributes):
(DOMHTMLOptionElement::isSameNode):
(DOMHTMLOptionElement::isEqualNode):
(DOMHTMLOptionElement::textContent):
(DOMHTMLOptionElement::setTextContent):
(DOMHTMLOptionElement::tagName):
(DOMHTMLOptionElement::getAttribute):
(DOMHTMLOptionElement::setAttribute):
(DOMHTMLOptionElement::removeAttribute):
(DOMHTMLOptionElement::getAttributeNode):
(DOMHTMLOptionElement::setAttributeNode):
(DOMHTMLOptionElement::removeAttributeNode):
(DOMHTMLOptionElement::getElementsByTagName):
(DOMHTMLOptionElement::getAttributeNS):
(DOMHTMLOptionElement::setAttributeNS):
(DOMHTMLOptionElement::removeAttributeNS):
(DOMHTMLOptionElement::getAttributeNodeNS):
(DOMHTMLOptionElement::setAttributeNodeNS):
(DOMHTMLOptionElement::getElementsByTagNameNS):
(DOMHTMLOptionElement::hasAttribute):
(DOMHTMLOptionElement::hasAttributeNS):
(DOMHTMLOptionElement::focus):
(DOMHTMLOptionElement::blur):
(DOMHTMLOptionElement::idName):
(DOMHTMLOptionElement::setIdName):
(DOMHTMLOptionElement::title):
(DOMHTMLOptionElement::setTitle):
(DOMHTMLOptionElement::lang):
(DOMHTMLOptionElement::setLang):
(DOMHTMLOptionElement::dir):
(DOMHTMLOptionElement::setDir):
(DOMHTMLOptionElement::className):
(DOMHTMLOptionElement::setClassName):
(DOMHTMLOptionElement::innerHTML):
(DOMHTMLOptionElement::setInnerHTML):
(DOMHTMLOptionElement::innerText):
(DOMHTMLOptionElement::setInnerText):
(DOMHTMLInputElement::DOMHTMLInputElement):
(DOMHTMLInputElement::AddRef):
(DOMHTMLInputElement::Release):
(DOMHTMLInputElement::throwException):
(DOMHTMLInputElement::callWebScriptMethod):
(DOMHTMLInputElement::evaluateWebScript):
(DOMHTMLInputElement::removeWebScriptKey):
(DOMHTMLInputElement::stringRepresentation):
(DOMHTMLInputElement::webScriptValueAtIndex):
(DOMHTMLInputElement::setWebScriptValueAtIndex):
(DOMHTMLInputElement::setException):
(DOMHTMLInputElement::nodeName):
(DOMHTMLInputElement::nodeValue):
(DOMHTMLInputElement::setNodeValue):
(DOMHTMLInputElement::nodeType):
(DOMHTMLInputElement::parentNode):
(DOMHTMLInputElement::childNodes):
(DOMHTMLInputElement::firstChild):
(DOMHTMLInputElement::lastChild):
(DOMHTMLInputElement::previousSibling):
(DOMHTMLInputElement::nextSibling):
(DOMHTMLInputElement::attributes):
(DOMHTMLInputElement::ownerDocument):
(DOMHTMLInputElement::insertBefore):
(DOMHTMLInputElement::replaceChild):
(DOMHTMLInputElement::removeChild):
(DOMHTMLInputElement::appendChild):
(DOMHTMLInputElement::hasChildNodes):
(DOMHTMLInputElement::cloneNode):
(DOMHTMLInputElement::normalize):
(DOMHTMLInputElement::isSupported):
(DOMHTMLInputElement::namespaceURI):
(DOMHTMLInputElement::prefix):
(DOMHTMLInputElement::setPrefix):
(DOMHTMLInputElement::localName):
(DOMHTMLInputElement::hasAttributes):
(DOMHTMLInputElement::isSameNode):
(DOMHTMLInputElement::isEqualNode):
(DOMHTMLInputElement::textContent):
(DOMHTMLInputElement::setTextContent):
(DOMHTMLInputElement::tagName):
(DOMHTMLInputElement::getAttribute):
(DOMHTMLInputElement::setAttribute):
(DOMHTMLInputElement::removeAttribute):
(DOMHTMLInputElement::getAttributeNode):
(DOMHTMLInputElement::setAttributeNode):
(DOMHTMLInputElement::removeAttributeNode):
(DOMHTMLInputElement::getElementsByTagName):
(DOMHTMLInputElement::getAttributeNS):
(DOMHTMLInputElement::setAttributeNS):
(DOMHTMLInputElement::removeAttributeNS):
(DOMHTMLInputElement::getAttributeNodeNS):
(DOMHTMLInputElement::setAttributeNodeNS):
(DOMHTMLInputElement::getElementsByTagNameNS):
(DOMHTMLInputElement::hasAttribute):
(DOMHTMLInputElement::hasAttributeNS):
(DOMHTMLInputElement::focus):
(DOMHTMLInputElement::blur):
(DOMHTMLInputElement::idName):
(DOMHTMLInputElement::setIdName):
(DOMHTMLInputElement::title):
(DOMHTMLInputElement::setTitle):
(DOMHTMLInputElement::lang):
(DOMHTMLInputElement::setLang):
(DOMHTMLInputElement::dir):
(DOMHTMLInputElement::setDir):
(DOMHTMLInputElement::className):
(DOMHTMLInputElement::setClassName):
(DOMHTMLInputElement::innerHTML):
(DOMHTMLInputElement::setInnerHTML):
(DOMHTMLInputElement::innerText):
(DOMHTMLInputElement::setInnerText):
(DOMHTMLTextAreaElement::DOMHTMLTextAreaElement):
(DOMHTMLTextAreaElement::AddRef):
(DOMHTMLTextAreaElement::Release):
(DOMHTMLTextAreaElement::throwException):
(DOMHTMLTextAreaElement::callWebScriptMethod):
(DOMHTMLTextAreaElement::evaluateWebScript):
(DOMHTMLTextAreaElement::removeWebScriptKey):
(DOMHTMLTextAreaElement::stringRepresentation):
(DOMHTMLTextAreaElement::webScriptValueAtIndex):
(DOMHTMLTextAreaElement::setWebScriptValueAtIndex):
(DOMHTMLTextAreaElement::setException):
(DOMHTMLTextAreaElement::nodeName):
(DOMHTMLTextAreaElement::nodeValue):
(DOMHTMLTextAreaElement::setNodeValue):
(DOMHTMLTextAreaElement::nodeType):
(DOMHTMLTextAreaElement::parentNode):
(DOMHTMLTextAreaElement::childNodes):
(DOMHTMLTextAreaElement::firstChild):
(DOMHTMLTextAreaElement::lastChild):
(DOMHTMLTextAreaElement::previousSibling):
(DOMHTMLTextAreaElement::nextSibling):
(DOMHTMLTextAreaElement::attributes):
(DOMHTMLTextAreaElement::ownerDocument):
(DOMHTMLTextAreaElement::insertBefore):
(DOMHTMLTextAreaElement::replaceChild):
(DOMHTMLTextAreaElement::removeChild):
(DOMHTMLTextAreaElement::appendChild):
(DOMHTMLTextAreaElement::hasChildNodes):
(DOMHTMLTextAreaElement::cloneNode):
(DOMHTMLTextAreaElement::normalize):
(DOMHTMLTextAreaElement::isSupported):
(DOMHTMLTextAreaElement::namespaceURI):
(DOMHTMLTextAreaElement::prefix):
(DOMHTMLTextAreaElement::setPrefix):
(DOMHTMLTextAreaElement::localName):
(DOMHTMLTextAreaElement::hasAttributes):
(DOMHTMLTextAreaElement::isSameNode):
(DOMHTMLTextAreaElement::isEqualNode):
(DOMHTMLTextAreaElement::textContent):
(DOMHTMLTextAreaElement::setTextContent):
(DOMHTMLTextAreaElement::tagName):
(DOMHTMLTextAreaElement::getAttribute):
(DOMHTMLTextAreaElement::setAttribute):
(DOMHTMLTextAreaElement::removeAttribute):
(DOMHTMLTextAreaElement::getAttributeNode):
(DOMHTMLTextAreaElement::setAttributeNode):
(DOMHTMLTextAreaElement::removeAttributeNode):
(DOMHTMLTextAreaElement::getElementsByTagName):
(DOMHTMLTextAreaElement::getAttributeNS):
(DOMHTMLTextAreaElement::setAttributeNS):
(DOMHTMLTextAreaElement::removeAttributeNS):
(DOMHTMLTextAreaElement::getAttributeNodeNS):
(DOMHTMLTextAreaElement::setAttributeNodeNS):
(DOMHTMLTextAreaElement::getElementsByTagNameNS):
(DOMHTMLTextAreaElement::hasAttribute):
(DOMHTMLTextAreaElement::hasAttributeNS):
(DOMHTMLTextAreaElement::focus):
(DOMHTMLTextAreaElement::blur):
(DOMHTMLTextAreaElement::idName):
(DOMHTMLTextAreaElement::setIdName):
(DOMHTMLTextAreaElement::title):
(DOMHTMLTextAreaElement::setTitle):
(DOMHTMLTextAreaElement::lang):
(DOMHTMLTextAreaElement::setLang):
(DOMHTMLTextAreaElement::dir):
(DOMHTMLTextAreaElement::setDir):
(DOMHTMLTextAreaElement::className):
(DOMHTMLTextAreaElement::setClassName):
(DOMHTMLTextAreaElement::innerHTML):
(DOMHTMLTextAreaElement::setInnerHTML):
(DOMHTMLTextAreaElement::innerText):
(DOMHTMLTextAreaElement::setInnerText):
(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):
* DefaultDownloadDelegate.cpp:
(DefaultDownloadDelegate::DefaultDownloadDelegate):
(DefaultDownloadDelegate::QueryInterface):
(DefaultDownloadDelegate::AddRef):
(DefaultDownloadDelegate::Release):
(DefaultDownloadDelegate::decideDestinationWithSuggestedFilename):
(DefaultDownloadDelegate::didCancelAuthenticationChallenge):
(DefaultDownloadDelegate::didCreateDestination):
(DefaultDownloadDelegate::didReceiveAuthenticationChallenge):
(DefaultDownloadDelegate::didReceiveDataOfLength):
(DefaultDownloadDelegate::didReceiveResponse):
(DefaultDownloadDelegate::shouldDecodeSourceDataOfMIMEType):
(DefaultDownloadDelegate::willResumeWithResponse):
(DefaultDownloadDelegate::willSendRequest):
(DefaultDownloadDelegate::didBegin):
(DefaultDownloadDelegate::didFinish):
(DefaultDownloadDelegate::didFailWithError):
* DefaultDownloadDelegate.h:
* DefaultPolicyDelegate.cpp:
(DefaultPolicyDelegate::DefaultPolicyDelegate):
(DefaultPolicyDelegate::QueryInterface):
(DefaultPolicyDelegate::AddRef):
(DefaultPolicyDelegate::Release):
(DefaultPolicyDelegate::decidePolicyForNavigationAction):
(DefaultPolicyDelegate::decidePolicyForNewWindowAction):
(DefaultPolicyDelegate::decidePolicyForMIMEType):
(DefaultPolicyDelegate::unableToImplementPolicyWithError):
* DefaultPolicyDelegate.h:
* Interfaces/Accessible2/Accessible2.idl:
* Interfaces/Accessible2/Accessible2_2.idl:
* Interfaces/Accessible2/AccessibleApplication.idl:
* Interfaces/Accessible2/AccessibleEditableText.idl:
* Interfaces/Accessible2/AccessibleRelation.idl:
* Interfaces/Accessible2/AccessibleStates.idl:
* Interfaces/Accessible2/AccessibleText.idl:
* Interfaces/Accessible2/AccessibleText2.idl:
* Interfaces/IWebApplicationCache.idl:
* Interfaces/IWebView.idl:
* Interfaces/IWebViewPrivate.idl:
* Interfaces/WebKit.idl:
* MemoryStream.cpp:
(MemoryStream::QueryInterface):
(MemoryStream::AddRef):
* MemoryStream.h:
* WebActionPropertyBag.cpp:
(WebActionPropertyBag::WebActionPropertyBag):
(WebActionPropertyBag::QueryInterface):
(WebActionPropertyBag::AddRef):
(WebActionPropertyBag::Release):
(findMouseEvent):
(WebActionPropertyBag::Read):
(WebActionPropertyBag::Write):
* WebActionPropertyBag.h:
* WebApplicationCache.cpp:
(WebApplicationCache::QueryInterface):
(WebApplicationCache::AddRef):
* WebApplicationCache.h:
* WebArchive.cpp:
(WebArchive::createInstance):
(WebArchive::WebArchive):
(WebArchive::~WebArchive):
(WebArchive::QueryInterface):
(WebArchive::AddRef):
(WebArchive::Release):
(WebArchive::initWithMainResource):
(WebArchive::initWithData):
(WebArchive::initWithNode):
(WebArchive::mainResource):
(WebArchive::subResources):
(WebArchive::subframeArchives):
(WebArchive::data):
* WebArchive.h:
* WebBackForwardList.cpp:
(backForwardListWrappers):
(WebBackForwardList::WebBackForwardList):
(WebBackForwardList::createInstance):
(WebBackForwardList::QueryInterface):
(WebBackForwardList::AddRef):
(WebBackForwardList::Release):
(WebBackForwardList::addItem):
(WebBackForwardList::goBack):
(WebBackForwardList::goForward):
(WebBackForwardList::goToItem):
(WebBackForwardList::backItem):
(WebBackForwardList::currentItem):
(WebBackForwardList::forwardItem):
(WebBackForwardList::backListWithLimit):
(WebBackForwardList::forwardListWithLimit):
(WebBackForwardList::capacity):
(WebBackForwardList::setCapacity):
(WebBackForwardList::backListCount):
(WebBackForwardList::forwardListCount):
(WebBackForwardList::containsItem):
(WebBackForwardList::itemAtIndex):
(WebBackForwardList::removeItem):
* WebBackForwardList.h:
* WebCache.cpp:
(WebCache::WebCache):
(WebCache::QueryInterface):
(WebCache::AddRef):
(WebCache::Release):
(WebCache::statistics):
(WebCache::empty):
(WebCache::setDisabled):
(WebCache::disabled):
(WebCache::cacheFolder):
(WebCache::setCacheFolder):
* WebCache.h:
* WebCoreStatistics.cpp:
(WebCoreStatistics::WebCoreStatistics):
(WebCoreStatistics::QueryInterface):
(WebCoreStatistics::AddRef):
(WebCoreStatistics::Release):
(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
(WebCoreStatistics::javaScriptObjectTypeCounts):
(WebCoreStatistics::iconPageURLMappingCount):
(WebCoreStatistics::iconRetainedPageURLCount):
(WebCoreStatistics::iconRecordCount):
(WebCoreStatistics::iconsWithDataCount):
(WebCoreStatistics::cachedFontDataCount):
(WebCoreStatistics::cachedFontDataInactiveCount):
(WebCoreStatistics::purgeInactiveFontData):
(WebCoreStatistics::glyphPageCount):
(WebCoreStatistics::setJavaScriptGarbageCollectorTimerEnabled):
(WebCoreStatistics::shouldPrintExceptions):
(WebCoreStatistics::stopIgnoringWebCoreNodeLeaks):
(WebCoreStatistics::memoryStatistics):
(WebCoreStatistics::returnFreeMemoryToSystem):
(WebCoreStatistics::cachedPageCount):
(WebCoreStatistics::cachedFrameCount):
* WebCoreStatistics.h:
* WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
(NotificationCOMWrapper::create):
(NotificationCOMWrapper::QueryInterface):
* WebCoreSupport/WebEditorClient.cpp:
(WebEditorUndoTarget::QueryInterface):
(WebEditorUndoTarget::AddRef):
(WebEditorUndoCommand::execute):
(WebEditorUndoCommand::QueryInterface):
(WebEditorUndoCommand::AddRef):
* WebCoreSupport/WebInspectorDelegate.cpp:
(WebInspectorDelegate::WebInspectorDelegate):
(WebInspectorDelegate::createInstance):
(QueryInterface):
(WebInspectorDelegate::AddRef):
(WebInspectorDelegate::Release):
(WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo):
(WebInspectorDelegate::createWebViewWithRequest):
(WebInspectorDelegate::willPerformDragSourceAction):
(WebInspectorDelegate::createModalDialog):
(WebInspectorDelegate::desktopNotificationsDelegate):
(:m_refCount): Deleted.
* WebCoreSupport/WebInspectorDelegate.h:
(WebInspectorDelegate::webViewShow):
(WebInspectorDelegate::webViewClose):
(WebInspectorDelegate::webViewFocus):
(WebInspectorDelegate::webViewUnfocus):
(WebInspectorDelegate::webViewFirstResponder):
(WebInspectorDelegate::makeFirstResponder):
(WebInspectorDelegate::setStatusText):
(WebInspectorDelegate::webViewStatusText):
(WebInspectorDelegate::webViewAreToolbarsVisible):
(WebInspectorDelegate::setToolbarsVisible):
(WebInspectorDelegate::webViewIsStatusBarVisible):
(WebInspectorDelegate::setStatusBarVisible):
(WebInspectorDelegate::webViewIsResizable):
(WebInspectorDelegate::setResizable):
(WebInspectorDelegate::setFrame):
(WebInspectorDelegate::webViewFrame):
(WebInspectorDelegate::setContentRect):
(WebInspectorDelegate::webViewContentRect):
(WebInspectorDelegate::runJavaScriptAlertPanelWithMessage):
(WebInspectorDelegate::runJavaScriptConfirmPanelWithMessage):
(WebInspectorDelegate::runJavaScriptTextInputPanelWithPrompt):
(WebInspectorDelegate::runBeforeUnloadConfirmPanelWithMessage):
(WebInspectorDelegate::runOpenPanelForFileButtonWithResultListener):
(WebInspectorDelegate::mouseDidMoveOverElement):
(WebInspectorDelegate::contextMenuItemsForElement):
(WebInspectorDelegate::validateUserInterfaceItem):
(WebInspectorDelegate::shouldPerformAction):
(WebInspectorDelegate::willPerformDragDestinationAction):
(WebInspectorDelegate::dragSourceActionMaskForPoint):
(WebInspectorDelegate::contextMenuItemSelected):
(WebInspectorDelegate::hasCustomMenuImplementation):
(WebInspectorDelegate::trackCustomPopupMenu):
(WebInspectorDelegate::measureCustomMenuItem):
(WebInspectorDelegate::drawCustomMenuItem):
(WebInspectorDelegate::addCustomMenuDrawingData):
(WebInspectorDelegate::cleanUpCustomMenuDrawingData):
(WebInspectorDelegate::canTakeFocus):
(WebInspectorDelegate::takeFocus):
(WebInspectorDelegate::registerUndoWithTarget):
(WebInspectorDelegate::removeAllActionsWithTarget):
(WebInspectorDelegate::setActionTitle):
(WebInspectorDelegate::undo):
(WebInspectorDelegate::redo):
(WebInspectorDelegate::canUndo):
(WebInspectorDelegate::canRedo):
(WebInspectorDelegate::printFrame):
(WebInspectorDelegate::ftpDirectoryTemplatePath):
(WebInspectorDelegate::webViewHeaderHeight):
(WebInspectorDelegate::webViewFooterHeight):
(WebInspectorDelegate::drawHeaderInRect):
(WebInspectorDelegate::drawFooterInRect):
(WebInspectorDelegate::webViewPrintingMarginRect):
(WebInspectorDelegate::canRunModal):
(WebInspectorDelegate::runModal):
(WebInspectorDelegate::isMenuBarVisible):
(WebInspectorDelegate::setMenuBarVisible):
(WebInspectorDelegate::runDatabaseSizeLimitPrompt):
(WebInspectorDelegate::paintCustomScrollbar):
(WebInspectorDelegate::paintCustomScrollCorner):
(WebInspectorDelegate::QueryInterface): Deleted.
(WebInspectorDelegate::createWebViewWithRequest): Deleted.
(WebInspectorDelegate::willPerformDragSourceAction): Deleted.
(WebInspectorDelegate::createModalDialog): Deleted.
(WebInspectorDelegate::desktopNotificationsDelegate): Deleted.
* WebDataSource.cpp:
(WebDataSource::overrideEncoding):
(WebDataSource::setOverrideEncoding):
(WebDataSource::mainDocumentError):
(WebDataSource::setDeferMainResourceDataLoad):
(WebDataSource::QueryInterface):
(WebDataSource::AddRef):
(WebDataSource::Release):
(WebDataSource::initWithRequest):
(WebDataSource::data):
(WebDataSource::representation):
(WebDataSource::webFrame):
(WebDataSource::initialRequest):
(WebDataSource::request):
(WebDataSource::response):
(WebDataSource::textEncodingName):
(WebDataSource::isLoading):
(WebDataSource::pageTitle):
(WebDataSource::unreachableURL):
(WebDataSource::webArchive):
(WebDataSource::mainResource):
(WebDataSource::subresources):
(WebDataSource::subresourceForURL):
(WebDataSource::addSubresource):
* WebDataSource.h:
* WebDatabaseManager.cpp:
(DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag):
(DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag):
(DatabaseDetailsPropertyBag::createInstance):
(DatabaseDetailsPropertyBag::AddRef):
(DatabaseDetailsPropertyBag::Release):
(DatabaseDetailsPropertyBag::QueryInterface):
(DatabaseDetailsPropertyBag::Read):
(DatabaseDetailsPropertyBag::Write):
(WebDatabaseManager::createInstance):
(WebDatabaseManager::WebDatabaseManager):
(WebDatabaseManager::~WebDatabaseManager):
(WebDatabaseManager::QueryInterface):
(WebDatabaseManager::AddRef):
(WebDatabaseManager::Release):
(WebDatabaseManager::sharedWebDatabaseManager):
(WebDatabaseManager::origins):
(WebDatabaseManager::databasesWithOrigin):
(WebDatabaseManager::detailsForDatabase):
(WebDatabaseManager::deleteAllDatabases):
(WebDatabaseManager::deleteOrigin):
(WebDatabaseManager::deleteDatabase):
(WebDatabaseManager::dispatchDidModifyOrigin):
(WebDatabaseManager::setQuota):
* WebDatabaseManager.h:
* WebDownload.cpp:
(WebDownload::WebDownload):
(WebDownload::QueryInterface):
(WebDownload::AddRef):
(WebDownload::Release):
(WebDownload::canResumeDownloadDecodedWithEncodingMIMEType):
(WebDownload::bundlePathForTargetPath):
(WebDownload::request):
* WebDownload.h:
* WebDownloadCFNet.cpp:
(WebDownload::initWithRequest):
(WebDownload::initToResumeWithBundle):
(WebDownload::start):
(WebDownload::cancel):
(WebDownload::cancelForResume):
(WebDownload::deletesFileUponFailure):
(WebDownload::setDeletesFileUponFailure):
(WebDownload::setDestination):
(WebDownload::cancelAuthenticationChallenge):
(WebDownload::continueWithoutCredentialForAuthenticationChallenge):
(WebDownload::useCredential):
* WebDropSource.cpp:
(WebDropSource::createInstance):
(WebDropSource::WebDropSource):
(WebDropSource::~WebDropSource):
(WebDropSource::QueryInterface):
(WebDropSource::AddRef):
(WebDropSource::Release):
(generateMouseEvent):
(WebDropSource::QueryContinueDrag):
(WebDropSource::GiveFeedback):
* WebDropSource.h:
* WebElementPropertyBag.cpp:
(WebElementPropertyBag::WebElementPropertyBag):
(WebElementPropertyBag::QueryInterface):
(WebElementPropertyBag::AddRef):
(WebElementPropertyBag::Release):
(WebElementPropertyBag::Read):
(WebElementPropertyBag::Write):
* WebElementPropertyBag.h:
* WebError.cpp:
(WebError::WebError):
(WebError::QueryInterface):
(WebError::AddRef):
(WebError::Release):
(WebError::init):
(WebError::code):
(WebError::domain):
(WebError::localizedDescription):
(WebError::localizedFailureReason):
(WebError::localizedRecoveryOptions):
(WebError::localizedRecoverySuggestion):
(WebError::recoverAttempter):
(WebError::userInfo):
(WebError::failingURL):
(WebError::isPolicyChangeError):
(WebError::sslPeerCertificate):
* WebError.h:
* WebFrame.cpp:
(kit):
(core):
(elementFromDOMElement):
(WebFrame::WebFramePrivate::WebFramePrivate):
(WebFrame::WebFramePrivate::~WebFramePrivate):
(WebFrame::WebFramePrivate::frameView):
(WebFrame::WebFrame):
(WebFrame::createInstance):
(WebFrame::setAllowsScrolling):
(WebFrame::allowsScrolling):
(WebFrame::setIsDisconnected):
(WebFrame::setExcludeFromTextSearch):
(WebFrame::reloadFromOrigin):
(WebFrame::paintDocumentRectToContext):
(WebFrame::paintScrollViewRectToContextAtPoint):
(WebFrame::QueryInterface):
(WebFrame::AddRef):
(WebFrame::Release):
(WebFrame::name):
(WebFrame::webView):
(WebFrame::frameView):
(WebFrame::DOMDocument):
(WebFrame::DOMWindow):
(WebFrame::frameElement):
(WebFrame::currentForm):
(WebFrame::globalContext):
(WebFrame::globalContextForScriptWorld):
(WebFrame::loadRequest):
(WebFrame::loadData):
(WebFrame::loadPlainTextString):
(WebFrame::loadHTMLString):
(WebFrame::loadAlternateHTMLString):
(WebFrame::loadArchive):
(getWebDataSource):
(WebFrame::dataSource):
(WebFrame::provisionalDataSource):
(WebFrame::url):
(WebFrame::stopLoading):
(WebFrame::reload):
(WebFrame::findFrameNamed):
(WebFrame::parentFrame):
(EnumChildFrames::EnumChildFrames):
(EnumChildFrames::QueryInterface):
(EnumChildFrames::AddRef):
(EnumChildFrames::Clone):
(WebFrame::childFrames):
(WebFrame::renderTreeAsExternalRepresentation):
(WebFrame::pageNumberForElementById):
(WebFrame::numberOfPages):
(WebFrame::scrollOffset):
(WebFrame::layout):
(WebFrame::firstLayoutDone):
(WebFrame::pendingFrameUnloadEventCount):
(WebFrame::hasSpellingMarker):
(WebFrame::clearOpener):
(WebFrame::setTextDirection):
(WebFrame::supportsTextEncoding):
(WebFrame::selectedString):
(WebFrame::selectAll):
(WebFrame::deselectAll):
(WebFrame::formForElement):
(WebFrame::elementDoesAutoComplete):
(WebFrame::resumeAnimations):
(WebFrame::suspendAnimations):
(WebFrame::pauseAnimation):
(WebFrame::pauseTransition):
(WebFrame::visibleContentRect):
(WebFrame::numberOfActiveAnimations):
(WebFrame::isDisplayingStandaloneImage):
(WebFrame::allowsFollowingLink):
(WebFrame::searchForLabelsBeforeElement):
(WebFrame::matchLabelsAgainstElement):
(WebFrame::canProvideDocumentSource):
(WebFrame::layerTreeAsText):
(WebFrame::setPrinting):
(WebFrame::setInPrintingMode):
(WebFrame::computePageRects):
(WebFrame::getPrintedPageCount):
(WebFrame::spoolPages):
(WebFrame::isFrameSet):
(WebFrame::string):
(WebFrame::size):
(WebFrame::hasScrollBars):
(WebFrame::contentBounds):
(WebFrame::frameBounds):
(WebFrame::isDescendantOfFrame):
(WebFrame::updateBackground):
(WebFrame::isMainFrame):
* WebFrame.h:
* WebFramePolicyListener.cpp:
(WebFramePolicyListener::WebFramePolicyListener):
(WebFramePolicyListener::QueryInterface):
(WebFramePolicyListener::AddRef):
(WebFramePolicyListener::Release):
(WebFramePolicyListener::use):
(WebFramePolicyListener::download):
(WebFramePolicyListener::ignore):
(WebFramePolicyListener::continueSubmit):
* WebFramePolicyListener.h:
* WebGeolocationPolicyListener.cpp:
(WebGeolocationPolicyListener::QueryInterface):
(WebGeolocationPolicyListener::AddRef):
(WebGeolocationPolicyListener::Release):
(WebGeolocationPolicyListener::allow):
(WebGeolocationPolicyListener::deny):
* WebGeolocationPolicyListener.h:
* WebGeolocationPosition.cpp:
(WebGeolocationPosition::createInstance):
(WebGeolocationPosition::WebGeolocationPosition):
(WebGeolocationPosition::~WebGeolocationPosition):
(WebGeolocationPosition::QueryInterface):
* WebGeolocationPosition.h:
(WebGeolocationPosition::impl):
* WebHTMLRepresentation.cpp:
(WebHTMLRepresentation::WebHTMLRepresentation):
(WebHTMLRepresentation::~WebHTMLRepresentation):
(WebHTMLRepresentation::QueryInterface):
(WebHTMLRepresentation::AddRef):
(WebHTMLRepresentation::Release):
(WebHTMLRepresentation::supportedMIMETypes):
(WebHTMLRepresentation::supportedNonImageMIMETypes):
(WebHTMLRepresentation::supportedImageMIMETypes):
(WebHTMLRepresentation::attributedStringFromDOMNodes):
(WebHTMLRepresentation::elementWithName):
(WebHTMLRepresentation::elementDoesAutoComplete):
(WebHTMLRepresentation::elementIsPassword):
(WebHTMLRepresentation::formForElement):
(WebHTMLRepresentation::currentForm):
(WebHTMLRepresentation::controlsInForm):
(WebHTMLRepresentation::deprecatedSearchForLabels):
(WebHTMLRepresentation::matchLabels):
(WebHTMLRepresentation::searchForLabels):
(WebHTMLRepresentation::setDataSource):
(WebHTMLRepresentation::receivedData):
(WebHTMLRepresentation::receivedError):
(WebHTMLRepresentation::finishedLoadingWithDataSource):
(WebHTMLRepresentation::canProvideDocumentSource):
(WebHTMLRepresentation::documentSource):
(WebHTMLRepresentation::title):
* WebHTMLRepresentation.h:
* WebHistory.cpp:
(WebHistory::WebHistory):
(WebHistory::QueryInterface):
(WebHistory::AddRef):
(WebHistory::Release):
(WebHistory::sharedHistory):
(WebHistory::optionalSharedHistory):
(WebHistory::setOptionalSharedHistory):
(WebHistory::unused1):
(WebHistory::unused2):
(WebHistory::addItems):
(WebHistory::removeItems):
(WebHistory::removeAllItems):
(WebHistory::orderedLastVisitedDays):
(WebHistory::orderedItemsLastVisitedOnDay):
(WebHistory::allItems):
(WebHistory::removeAllVisitedLinks):
(WebHistory::setHistoryItemLimit):
(WebHistory::historyItemLimit):
(WebHistory::setHistoryAgeInDaysLimit):
(WebHistory::historyAgeInDaysLimit):
(WebHistory::visitedURL):
(WebHistory::itemForURL):
* WebHistory.h:
* WebHistoryItem.cpp:
(historyItemWrappers):
(WebHistoryItem::WebHistoryItem):
(WebHistoryItem::initFromDictionaryRepresentation):
(WebHistoryItem::dictionaryRepresentation):
(WebHistoryItem::hasURLString):
(WebHistoryItem::visitCount):
(WebHistoryItem::setVisitCount):
(WebHistoryItem::mergeAutoCompleteHints):
(WebHistoryItem::setLastVisitedTimeInterval):
(WebHistoryItem::setTitle):
(WebHistoryItem::RSSFeedReferrer):
(WebHistoryItem::setRSSFeedReferrer):
(WebHistoryItem::hasPageCache):
(WebHistoryItem::setHasPageCache):
(WebHistoryItem::target):
(WebHistoryItem::isTargetItem):
(WebHistoryItem::children):
(WebHistoryItem::lastVisitWasFailure):
(WebHistoryItem::setLastVisitWasFailure):
(WebHistoryItem::lastVisitWasHTTPNonGet):
(WebHistoryItem::setLastVisitWasHTTPNonGet):
(WebHistoryItem::redirectURLs):
(WebHistoryItem::visitedWithTitle):
(WebHistoryItem::getDailyVisitCounts):
(WebHistoryItem::getWeeklyVisitCounts):
(WebHistoryItem::recordInitialVisit):
(WebHistoryItem::QueryInterface):
(WebHistoryItem::AddRef):
(WebHistoryItem::Release):
(WebHistoryItem::initWithURLString):
(WebHistoryItem::originalURLString):
(WebHistoryItem::URLString):
(WebHistoryItem::title):
(WebHistoryItem::lastVisitedTimeInterval):
(WebHistoryItem::setAlternateTitle):
(WebHistoryItem::alternateTitle):
(WebHistoryItem::icon):
* WebHistoryItem.h:
* WebIconDatabase.cpp:
(WebIconDatabase::WebIconDatabase):
(WebIconDatabase::QueryInterface):
(WebIconDatabase::AddRef):
(WebIconDatabase::Release):
(WebIconDatabase::sharedIconDatabase):
(WebIconDatabase::iconForURL):
(WebIconDatabase::defaultIconWithSize):
(WebIconDatabase::retainIconForURL):
(WebIconDatabase::releaseIconForURL):
(WebIconDatabase::removeAllIcons):
(WebIconDatabase::delayDatabaseCleanup):
(WebIconDatabase::allowDatabaseCleanup):
(WebIconDatabase::iconURLForURL):
(WebIconDatabase::isEnabled):
(WebIconDatabase::setEnabled):
(WebIconDatabase::hasIconForURL):
* WebIconDatabase.h:
* WebInspector.cpp:
(WebInspector::createInstance):
(WebInspector::WebInspector):
(WebInspector::frontendClient):
(WebInspector::webViewClosed):
(WebInspector::QueryInterface):
(WebInspector::AddRef):
(WebInspector::Release):
(WebInspector::show):
(WebInspector::showConsole):
(WebInspector::unused1):
(WebInspector::close):
(WebInspector::attach):
(WebInspector::detach):
(WebInspector::isDebuggingJavaScript):
(WebInspector::toggleDebuggingJavaScript):
(WebInspector::isProfilingJavaScript):
(WebInspector::toggleProfilingJavaScript):
(WebInspector::isJavaScriptProfilingEnabled):
(WebInspector::setJavaScriptProfilingEnabled):
(WebInspector::evaluateInFrontend):
(WebInspector::isTimelineProfilingEnabled):
(WebInspector::setTimelineProfilingEnabled):
* WebInspector.h:
* WebJavaScriptCollector.cpp:
(WebJavaScriptCollector::WebJavaScriptCollector):
(WebJavaScriptCollector::QueryInterface):
(WebJavaScriptCollector::AddRef):
(WebJavaScriptCollector::collect):
(WebJavaScriptCollector::collectOnAlternateThread):
(WebJavaScriptCollector::objectCount):
* WebJavaScriptCollector.h:
* WebKitCOMAPI.cpp:
(classFactory):
(WebKitCreateInstance):
* WebKitCOMAPI.h:
* WebKitClassFactory.cpp:
(WebKitClassFactory::WebKitClassFactory):
(WebKitClassFactory::~WebKitClassFactory):
(WebKitClassFactory::QueryInterface):
(WebKitClassFactory::AddRef):
(leakRefFromCreateInstance):
(WebKitClassFactory::CreateInstance):
* WebKitClassFactory.h:
* WebKitDLL.cpp:
* WebKitMessageLoop.cpp:
* WebKitMessageLoop.h:
* WebKitStatistics.cpp:
* WebKitStatistics.h:
* WebMutableURLRequest.cpp:
* WebMutableURLRequest.h:
* WebNavigationData.cpp:
* WebNavigationData.h:
* WebNotification.cpp:
* WebNotification.h:
* WebNotificationCenter.cpp:
* WebNotificationCenter.h:
* WebPreferences.cpp:
* WebPreferences.h:
* WebResource.cpp:
* WebResource.h:
* WebScriptObject.cpp:
* WebScriptObject.h:
* WebScriptWorld.cpp:
* WebScriptWorld.h:
* WebSecurityOrigin.cpp:
* WebSecurityOrigin.h:
* WebSerializedJSValue.cpp:
* WebSerializedJSValue.h:
* WebTextRenderer.cpp:
* WebTextRenderer.h:
* WebURLAuthenticationChallenge.cpp:
* WebURLAuthenticationChallenge.h:
* WebURLAuthenticationChallengeSender.cpp:
* WebURLAuthenticationChallengeSender.h:
* WebURLAuthenticationChallengeSenderCFNet.cpp:
* WebURLCredential.cpp:
* WebURLCredential.h:
* WebURLProtectionSpace.cpp:
* WebURLProtectionSpace.h:
* WebURLResponse.cpp:
* WebURLResponse.h:
* WebUserContentURLPattern.cpp:
* WebUserContentURLPattern.h:
* WebView.cpp:
* WebView.h:
* WebWorkersPrivate.cpp:
* WebWorkersPrivate.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188662 268f45cc-cd09-0410-ab3c-d52691b4dbfc

135 files changed:
Source/WebKit/ChangeLog
Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props
Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj
Source/WebKit/win/AccessibleBase.cpp
Source/WebKit/win/AccessibleBase.h
Source/WebKit/win/AccessibleTextImpl.cpp
Source/WebKit/win/AccessibleTextImpl.h
Source/WebKit/win/CFDictionaryPropertyBag.cpp
Source/WebKit/win/CFDictionaryPropertyBag.h
Source/WebKit/win/COMEnumVariant.h
Source/WebKit/win/COMPropertyBag.h
Source/WebKit/win/ChangeLog
Source/WebKit/win/DOMCSSClasses.cpp
Source/WebKit/win/DOMCSSClasses.h
Source/WebKit/win/DOMCoreClasses.cpp
Source/WebKit/win/DOMCoreClasses.h
Source/WebKit/win/DOMEventsClasses.cpp
Source/WebKit/win/DOMEventsClasses.h
Source/WebKit/win/DOMHTMLClasses.cpp
Source/WebKit/win/DOMHTMLClasses.h
Source/WebKit/win/DefaultDownloadDelegate.cpp
Source/WebKit/win/DefaultDownloadDelegate.h
Source/WebKit/win/DefaultPolicyDelegate.cpp
Source/WebKit/win/DefaultPolicyDelegate.h
Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl
Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl
Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl
Source/WebKit/win/Interfaces/Accessible2/AccessibleEditableText.idl
Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl
Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl
Source/WebKit/win/Interfaces/Accessible2/AccessibleText.idl
Source/WebKit/win/Interfaces/Accessible2/AccessibleText2.idl
Source/WebKit/win/Interfaces/IWebApplicationCache.idl
Source/WebKit/win/Interfaces/IWebView.idl
Source/WebKit/win/Interfaces/IWebViewPrivate.idl
Source/WebKit/win/Interfaces/WebKit.idl
Source/WebKit/win/MemoryStream.cpp
Source/WebKit/win/MemoryStream.h
Source/WebKit/win/WebActionPropertyBag.cpp
Source/WebKit/win/WebActionPropertyBag.h
Source/WebKit/win/WebApplicationCache.cpp
Source/WebKit/win/WebApplicationCache.h
Source/WebKit/win/WebArchive.cpp
Source/WebKit/win/WebArchive.h
Source/WebKit/win/WebBackForwardList.cpp
Source/WebKit/win/WebBackForwardList.h
Source/WebKit/win/WebCache.cpp
Source/WebKit/win/WebCache.h
Source/WebKit/win/WebCoreStatistics.cpp
Source/WebKit/win/WebCoreStatistics.h
Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp
Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp
Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp
Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h
Source/WebKit/win/WebDataSource.cpp
Source/WebKit/win/WebDataSource.h
Source/WebKit/win/WebDatabaseManager.cpp
Source/WebKit/win/WebDatabaseManager.h
Source/WebKit/win/WebDownload.cpp
Source/WebKit/win/WebDownload.h
Source/WebKit/win/WebDownloadCFNet.cpp
Source/WebKit/win/WebDropSource.cpp
Source/WebKit/win/WebDropSource.h
Source/WebKit/win/WebElementPropertyBag.cpp
Source/WebKit/win/WebElementPropertyBag.h
Source/WebKit/win/WebError.cpp
Source/WebKit/win/WebError.h
Source/WebKit/win/WebFrame.cpp
Source/WebKit/win/WebFrame.h
Source/WebKit/win/WebFramePolicyListener.cpp
Source/WebKit/win/WebFramePolicyListener.h
Source/WebKit/win/WebGeolocationPolicyListener.cpp
Source/WebKit/win/WebGeolocationPolicyListener.h
Source/WebKit/win/WebGeolocationPosition.cpp
Source/WebKit/win/WebGeolocationPosition.h
Source/WebKit/win/WebHTMLRepresentation.cpp
Source/WebKit/win/WebHTMLRepresentation.h
Source/WebKit/win/WebHistory.cpp
Source/WebKit/win/WebHistory.h
Source/WebKit/win/WebHistoryItem.cpp
Source/WebKit/win/WebHistoryItem.h
Source/WebKit/win/WebIconDatabase.cpp
Source/WebKit/win/WebIconDatabase.h
Source/WebKit/win/WebInspector.cpp
Source/WebKit/win/WebInspector.h
Source/WebKit/win/WebJavaScriptCollector.cpp
Source/WebKit/win/WebJavaScriptCollector.h
Source/WebKit/win/WebKitCOMAPI.cpp
Source/WebKit/win/WebKitCOMAPI.h
Source/WebKit/win/WebKitClassFactory.cpp
Source/WebKit/win/WebKitClassFactory.h
Source/WebKit/win/WebKitDLL.cpp
Source/WebKit/win/WebKitMessageLoop.cpp
Source/WebKit/win/WebKitMessageLoop.h
Source/WebKit/win/WebKitStatistics.cpp
Source/WebKit/win/WebKitStatistics.h
Source/WebKit/win/WebMutableURLRequest.cpp
Source/WebKit/win/WebMutableURLRequest.h
Source/WebKit/win/WebNavigationData.cpp
Source/WebKit/win/WebNavigationData.h
Source/WebKit/win/WebNotification.cpp
Source/WebKit/win/WebNotification.h
Source/WebKit/win/WebNotificationCenter.cpp
Source/WebKit/win/WebNotificationCenter.h
Source/WebKit/win/WebPreferences.cpp
Source/WebKit/win/WebPreferences.h
Source/WebKit/win/WebResource.cpp
Source/WebKit/win/WebResource.h
Source/WebKit/win/WebScriptObject.cpp
Source/WebKit/win/WebScriptObject.h
Source/WebKit/win/WebScriptWorld.cpp
Source/WebKit/win/WebScriptWorld.h
Source/WebKit/win/WebSecurityOrigin.cpp
Source/WebKit/win/WebSecurityOrigin.h
Source/WebKit/win/WebSerializedJSValue.cpp
Source/WebKit/win/WebSerializedJSValue.h
Source/WebKit/win/WebTextRenderer.cpp
Source/WebKit/win/WebTextRenderer.h
Source/WebKit/win/WebURLAuthenticationChallenge.cpp
Source/WebKit/win/WebURLAuthenticationChallenge.h
Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp
Source/WebKit/win/WebURLAuthenticationChallengeSender.h
Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp
Source/WebKit/win/WebURLCredential.cpp
Source/WebKit/win/WebURLCredential.h
Source/WebKit/win/WebURLProtectionSpace.cpp
Source/WebKit/win/WebURLProtectionSpace.h
Source/WebKit/win/WebURLResponse.cpp
Source/WebKit/win/WebURLResponse.h
Source/WebKit/win/WebUserContentURLPattern.cpp
Source/WebKit/win/WebUserContentURLPattern.h
Source/WebKit/win/WebView.cpp
Source/WebKit/win/WebView.h
Source/WebKit/win/WebWorkersPrivate.cpp
Source/WebKit/win/WebWorkersPrivate.h

index c6873f7..a43ad6a 100644 (file)
@@ -1,3 +1,13 @@
+2015-08-19  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Replace MIDL [in/out] comments with equivalent SAL
+        https://bugs.webkit.org/show_bug.cgi?id=148001
+
+        Reviewed by Tim Horton.
+
+        * WebKit.vcxproj/Interfaces/InterfacesCommon.props: Turn
+        on SAL declarations in MIDL output.
+
 2015-08-17  Filip Pizlo  <fpizlo@apple.com>
 
         Replace all remaining uses of WTF::Mutex with WTF::Lock
index e340897..3ada7a2 100644 (file)
       <DllDataFileName>dlldata.c</DllDataFileName>
       <TypeLibraryName>$(ConfigurationBuildDir)\lib$(PlatformArchitecture)\WebKit.tlb</TypeLibraryName>
       <ValidateAllParameters>true</ValidateAllParameters>
+      <EnableErrorChecks>All</EnableErrorChecks>
+      <ErrorCheckAllocations>true</ErrorCheckAllocations>
+      <ErrorCheckBounds>true</ErrorCheckBounds>
+      <ErrorCheckEnumRange>true</ErrorCheckEnumRange>
+      <ErrorCheckRefPointers>true</ErrorCheckRefPointers>
+      <ErrorCheckStubData>true</ErrorCheckStubData>
+      <WarnAsError>false</WarnAsError>
+      <AdditionalOptions>/sal %(AdditionalOptions)</AdditionalOptions>
     </Midl>
   </ItemDefinitionGroup>
   <ItemGroup />
index 71d2f28..62be58c 100644 (file)
   <PropertyGroup>
     <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <CodeAnalysisRuleSet>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <RunCodeAnalysis>false</RunCodeAnalysis>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile />
     <ClCompile />
     <Link>
       <EnableCOMDATFolding>false</EnableCOMDATFolding>
     </Link>
+    <ClCompile>
+      <EnablePREfast>false</EnablePREfast>
+    </ClCompile>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">
     <Link>
   <ImportGroup Label="ExtensionTargets">
     <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index df87cef..412df5a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008, 2009, 2010, 2013 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008-2010, 2013, 2015 Apple Inc. All Rights Reserved.
  * Copyright (C) 2012 Serotek Corporation. All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -58,7 +58,6 @@ using namespace WebCore;
 AccessibleBase::AccessibleBase(AccessibilityObject* obj, HWND window)
     : AccessibilityObjectWrapper(obj)
     , m_window(window)
-    , m_refCount(0)
 {
     ASSERT_ARG(obj, obj);
     m_object->setWrapper(this);
@@ -84,7 +83,7 @@ AccessibleBase* AccessibleBase::createInstance(AccessibilityObject* obj, HWND wi
     return new AccessibleBase(obj, window);
 }
 
-HRESULT AccessibleBase::QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
+HRESULT AccessibleBase::QueryService(_In_ REFGUID guidService, _In_ REFIID riid, _COM_Outptr_ void **ppvObject)
 {
     if (!IsEqualGUID(guidService, SID_AccessibleComparable)
         && !IsEqualGUID(guidService, IID_IAccessible2_2)
@@ -94,15 +93,17 @@ HRESULT AccessibleBase::QueryService(REFGUID guidService, REFIID riid, void **pp
         && !IsEqualGUID(guidService, IID_IAccessibleText)
         && !IsEqualGUID(guidService, IID_IAccessibleText2)
         && !IsEqualGUID(guidService, IID_IAccessibleEditableText)) {
-        *ppvObject = 0;
+        *ppvObject = nullptr;
         return E_INVALIDARG;
     }
     return QueryInterface(riid, ppvObject);
 }
 
 // IUnknown
-HRESULT STDMETHODCALLTYPE AccessibleBase::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT AccessibleBase::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
+    if (!ppvObject)
+        return E_POINTER;
     if (IsEqualGUID(riid, __uuidof(IAccessible)))
         *ppvObject = static_cast<IAccessible*>(this);
     else if (IsEqualGUID(riid, __uuidof(IDispatch)))
@@ -120,14 +121,14 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::QueryInterface(REFIID riid, void** ppv
     else if (IsEqualGUID(riid, __uuidof(AccessibleBase)))
         *ppvObject = static_cast<AccessibleBase*>(this);
     else {
-        *ppvObject = 0;
+        *ppvObject = nullptr;
         return E_NOINTERFACE;
     }
     AddRef();
     return S_OK;
 }
 
-ULONG STDMETHODCALLTYPE AccessibleBase::Release(void)
+ULONG AccessibleBase::Release()
 {
     ASSERT(m_refCount > 0);
     if (--m_refCount)
@@ -137,7 +138,7 @@ ULONG STDMETHODCALLTYPE AccessibleBase::Release(void)
 }
 
 // IAccessible2_2
-HRESULT AccessibleBase::get_attribute(BSTR key, VARIANT* value)
+HRESULT AccessibleBase::get_attribute(_In_ BSTR key, _Out_ VARIANT* value)
 {
     if (!value)
         return E_POINTER;
@@ -149,20 +150,24 @@ HRESULT AccessibleBase::get_attribute(BSTR key, VARIANT* value)
     return S_OK;
 }
 
-HRESULT AccessibleBase::get_accessibleWithCaret(IUnknown** accessible, long* caretOffset)
+HRESULT AccessibleBase::get_accessibleWithCaret(_COM_Outptr_opt_ IUnknown** accessible, _Out_ long* caretOffset)
 {
+    if (!accessible || !caretOffset)
+        return E_POINTER;
+    *accessible = nullptr;
+    *caretOffset = 0;
     notImplemented();
     return E_NOTIMPL;
 }
 
-HRESULT AccessibleBase::get_relationTargetsOfType(BSTR type, long maxTargets, IUnknown*** targets, long* nTargets)
+HRESULT AccessibleBase::get_relationTargetsOfType(_In_ BSTR type, long maxTargets, __deref_out_ecount_full_opt(*nTargets) IUnknown*** targets, _Out_ long* nTargets)
 {
     notImplemented();
     return E_NOTIMPL;
 }
 
 // IAccessible2
-HRESULT AccessibleBase::get_nRelations(long* nRelations)
+HRESULT AccessibleBase::get_nRelations(_Out_ long* nRelations)
 {
     if (!nRelations)
         return E_POINTER;
@@ -174,29 +179,33 @@ HRESULT AccessibleBase::get_nRelations(long* nRelations)
     return S_OK;
 }
 
-HRESULT AccessibleBase::get_relation(long relationIndex, IAccessibleRelation** relation)
+HRESULT AccessibleBase::get_relation(long relationIndex, _COM_Outptr_opt_ IAccessibleRelation** relation)
 {
     if (!relation)
         return E_POINTER;
 
+    *relation = nullptr;
+
     notImplemented();
     return E_NOTIMPL;
 }
 
-HRESULT AccessibleBase::get_relations(long maxRelations, IAccessibleRelation** relations, long* nRelations)
+HRESULT AccessibleBase::get_relations(long maxRelations, __out_ecount_part(maxRelations, *nRelations)  IAccessibleRelation** relations, _Out_ long* nRelations)
 {
     if (!relations || !nRelations)
         return E_POINTER;
 
+    *relations = nullptr;
+
     notImplemented();
     return E_NOTIMPL;
 }
 
-HRESULT AccessibleBase::role(long* role)
+HRESULT AccessibleBase::role(_Out_ long* role)
 {
     if (!role)
         return E_POINTER;
-
+    *role = 0;
     if (!m_object)
         return E_FAIL;
 
@@ -218,13 +227,13 @@ HRESULT AccessibleBase::scrollToPoint(IA2CoordinateType coordinateType, long x,
     return S_FALSE;
 }
 
-HRESULT AccessibleBase::get_groupPosition(long* groupLevel, long* similarItemsInGroup, long* positionInGroup)
+HRESULT AccessibleBase::get_groupPosition(_Out_ long* groupLevel, _Out_ long* similarItemsInGroup, _Out_ long* positionInGroup)
 {
     notImplemented();
     return E_NOTIMPL;
 }
 
-HRESULT AccessibleBase::get_states(AccessibleStates* states)
+HRESULT AccessibleBase::get_states(_Out_ AccessibleStates* states)
 {
     if (!states)
         return E_POINTER;
@@ -237,11 +246,11 @@ HRESULT AccessibleBase::get_states(AccessibleStates* states)
     return S_OK;
 }
 
-HRESULT AccessibleBase::get_extendedRole(BSTR* extendedRole)
+HRESULT AccessibleBase::get_extendedRole(__deref_opt_out BSTR* extendedRole)
 {
     if (!extendedRole)
         return E_POINTER;
-
+    *extendedRole = nullptr;
     if (!m_object)
         return E_FAIL;
 
@@ -249,11 +258,11 @@ HRESULT AccessibleBase::get_extendedRole(BSTR* extendedRole)
     return S_FALSE;
 }
 
-HRESULT AccessibleBase::get_localizedExtendedRole(BSTR* localizedExtendedRole)
+HRESULT AccessibleBase::get_localizedExtendedRole(__deref_opt_out BSTR* localizedExtendedRole)
 {
     if (!localizedExtendedRole)
         return E_POINTER;
-
+    *localizedExtendedRole = nullptr;
     if (!m_object)
         return E_FAIL;
 
@@ -261,7 +270,7 @@ HRESULT AccessibleBase::get_localizedExtendedRole(BSTR* localizedExtendedRole)
     return S_FALSE;
 }
 
-HRESULT AccessibleBase::get_nExtendedStates(long* nExtendedStates)
+HRESULT AccessibleBase::get_nExtendedStates(_Out_ long* nExtendedStates)
 {
     if (!nExtendedStates)
         return E_POINTER;
@@ -274,19 +283,19 @@ HRESULT AccessibleBase::get_nExtendedStates(long* nExtendedStates)
     return S_OK;
 }
 
-HRESULT AccessibleBase::get_extendedStates(long maxExtendedStates, BSTR** extendedStates, long* nExtendedStates)
+HRESULT AccessibleBase::get_extendedStates(long maxExtendedStates, __deref_out_ecount_part_opt(maxExtendedStates, *nExtendedStates) BSTR** extendedStates, _Out_ long* nExtendedStates)
 {
     notImplemented();
     return E_NOTIMPL;
 }
 
-HRESULT AccessibleBase::get_localizedExtendedStates(long maxLocalizedExtendedStates, BSTR** localizedExtendedStates, long* nLocalizedExtendedStates)
+HRESULT AccessibleBase::get_localizedExtendedStates(long maxLocalizedExtendedStates, __deref_out_ecount_part_opt(maxLocalizedExtendedStates, *nLocalizedExtendedStates) BSTR** localizedExtendedStates, _Out_ long* nLocalizedExtendedStates)
 {
     notImplemented();
     return E_NOTIMPL;
 }
 
-HRESULT AccessibleBase::get_uniqueID(long* uniqueID)
+HRESULT AccessibleBase::get_uniqueID(_Out_ long* uniqueID)
 {
     if (!uniqueID)
         return E_POINTER;
@@ -298,18 +307,18 @@ HRESULT AccessibleBase::get_uniqueID(long* uniqueID)
     return S_OK;
 }
 
-HRESULT AccessibleBase::get_windowHandle(HWND* windowHandle)
+HRESULT AccessibleBase::get_windowHandle(_Out_ HWND* windowHandle)
 {
     *windowHandle = m_window;
     return S_OK;
 }
 
-HRESULT AccessibleBase::get_indexInParent(long* indexInParent)
+HRESULT AccessibleBase::get_indexInParent(_Out_ long* indexInParent)
 {
     return E_NOTIMPL;
 }
 
-HRESULT AccessibleBase::get_locale(IA2Locale* locale)
+HRESULT AccessibleBase::get_locale(_Out_ IA2Locale* locale)
 {
     if (!locale)
         return E_POINTER;
@@ -322,18 +331,25 @@ HRESULT AccessibleBase::get_locale(IA2Locale* locale)
     return S_OK;
 }
 
-HRESULT AccessibleBase::get_attributes(BSTR* attributes)
+HRESULT AccessibleBase::get_attributes(__deref_opt_out BSTR* attributes)
 {
+    if (!attributes)
+        return E_POINTER;
+    *attributes = nullptr;
     if (!m_object)
         return E_FAIL;
+
     notImplemented();
     return S_FALSE;
 }
 
 // IAccessible
-HRESULT AccessibleBase::get_accParent(IDispatch** parent)
+HRESULT AccessibleBase::get_accParent(_COM_Outptr_opt_ IDispatch** parent)
 {
-    *parent = 0;
+    if (!parent)
+        return E_POINTER;
+
+    *parent = nullptr;
 
     if (!m_object)
         return E_FAIL;
@@ -352,7 +368,7 @@ HRESULT AccessibleBase::get_accParent(IDispatch** parent)
         OBJID_WINDOW, __uuidof(IAccessible), reinterpret_cast<void**>(parent));
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChildCount(long* count)
+HRESULT AccessibleBase::get_accChildCount(_Out_ long* count)
 {
     if (!m_object)
         return E_FAIL;
@@ -362,12 +378,12 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChildCount(long* count)
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChild(VARIANT vChild, IDispatch** ppChild)
+HRESULT AccessibleBase::get_accChild(VARIANT vChild, _COM_Outptr_opt_ IDispatch** ppChild)
 {
     if (!ppChild)
         return E_POINTER;
 
-    *ppChild = 0;
+    *ppChild = nullptr;
 
     AccessibilityObject* childObj;
 
@@ -380,12 +396,12 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChild(VARIANT vChild, IDispatch
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accName(VARIANT vChild, BSTR* name)
+HRESULT AccessibleBase::get_accName(VARIANT vChild, __deref_opt_out BSTR* name)
 {
     if (!name)
         return E_POINTER;
 
-    *name = 0;
+    *name = nullptr;
 
     AccessibilityObject* childObj;
     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
@@ -398,12 +414,12 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accName(VARIANT vChild, BSTR* name
     return S_FALSE;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accValue(VARIANT vChild, BSTR* value)
+HRESULT AccessibleBase::get_accValue(VARIANT vChild, __deref_opt_out BSTR* value)
 {
     if (!value)
         return E_POINTER;
 
-    *value = 0;
+    *value = nullptr;
 
     AccessibilityObject* childObj;
     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
@@ -416,12 +432,12 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accValue(VARIANT vChild, BSTR* val
     return S_FALSE;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDescription(VARIANT vChild, BSTR* description)
+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDescription(VARIANT vChild, __deref_opt_out BSTR* description)
 {
     if (!description)
         return E_POINTER;
 
-    *description = 0;
+    *description = nullptr;
 
     AccessibilityObject* childObj;
     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
@@ -435,7 +451,7 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDescription(VARIANT vChild, BST
     return S_FALSE;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accRole(VARIANT vChild, VARIANT* pvRole)
+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accRole(VARIANT vChild, _Out_ VARIANT* pvRole)
 {
     if (!pvRole)
         return E_POINTER;
@@ -524,7 +540,7 @@ long AccessibleBase::state() const
     return state;
 }
 
-HRESULT AccessibleBase::get_accState(VARIANT vChild, VARIANT* pvState)
+HRESULT AccessibleBase::get_accState(VARIANT vChild, _Out_ VARIANT* pvState)
 {
     if (!pvState)
         return E_POINTER;
@@ -543,12 +559,12 @@ HRESULT AccessibleBase::get_accState(VARIANT vChild, VARIANT* pvState)
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accHelp(VARIANT vChild, BSTR* helpText)
+HRESULT AccessibleBase::get_accHelp(VARIANT vChild, __deref_opt_out BSTR* helpText)
 {
     if (!helpText)
         return E_POINTER;
 
-    *helpText = 0;
+    *helpText = nullptr;
 
     AccessibilityObject* childObj;
     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
@@ -561,12 +577,12 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accHelp(VARIANT vChild, BSTR* help
     return S_FALSE;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accKeyboardShortcut(VARIANT vChild, BSTR* shortcut)
+HRESULT AccessibleBase::get_accKeyboardShortcut(VARIANT vChild, __deref_opt_out BSTR* shortcut)
 {
     if (!shortcut)
         return E_POINTER;
 
-    *shortcut = 0;
+    *shortcut = nullptr;
 
     AccessibilityObject* childObj;
     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
@@ -653,12 +669,12 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::accSelect(long selectionFlags, VARIANT
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accSelection(VARIANT*)
+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accSelection(_Out_ VARIANT*)
 {
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accFocus(VARIANT* pvFocusedChild)
+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accFocus(_Out_ VARIANT* pvFocusedChild)
 {
     if (!pvFocusedChild)
         return E_POINTER;
@@ -684,12 +700,12 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accFocus(VARIANT* pvFocusedChild)
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDefaultAction(VARIANT vChild, BSTR* action)
+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDefaultAction(VARIANT vChild, __deref_opt_out BSTR* action)
 {
     if (!action)
         return E_POINTER;
 
-    *action = 0;
+    *action = nullptr;
 
     AccessibilityObject* childObj;
     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
@@ -702,7 +718,7 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDefaultAction(VARIANT vChild, B
     return S_FALSE;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::accLocation(long* left, long* top, long* width, long* height, VARIANT vChild)
+HRESULT AccessibleBase::accLocation(_Out_ long* left, _Out_ long* top, _Out_ long* width, _Out_ long* height, VARIANT vChild)
 {
     if (!left || !top || !width || !height)
         return E_POINTER;
@@ -726,14 +742,14 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::accLocation(long* left, long* top, lon
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::accNavigate(long direction, VARIANT vFromChild, VARIANT* pvNavigatedTo)
+HRESULT AccessibleBase::accNavigate(long direction, VARIANT vFromChild, _Out_ VARIANT* pvNavigatedTo)
 {
     if (!pvNavigatedTo)
         return E_POINTER;
 
     ::VariantInit(pvNavigatedTo);
 
-    AccessibilityObject* childObj = 0;
+    AccessibilityObject* childObj = nullptr;
 
     switch (direction) {
         case NAVDIR_DOWN:
@@ -783,7 +799,7 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::accNavigate(long direction, VARIANT vF
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::accHitTest(long x, long y, VARIANT* pvChildAtPoint)
+HRESULT AccessibleBase::accHitTest(long x, long y, _Out_ VARIANT* pvChildAtPoint)
 {
     if (!pvChildAtPoint)
         return E_POINTER;
@@ -815,7 +831,7 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::accHitTest(long x, long y, VARIANT* pv
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE AccessibleBase::accDoDefaultAction(VARIANT vChild)
+HRESULT AccessibleBase::accDoDefaultAction(VARIANT vChild)
 {
     AccessibilityObject* childObj;
     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
@@ -1039,8 +1055,11 @@ AccessibleBase* AccessibleBase::wrapper(AccessibilityObject* obj) const
     return result;
 }
 
-HRESULT AccessibleBase::isSameObject(IAccessibleComparable* other, BOOL* result)
+HRESULT AccessibleBase::isSameObject(_In_opt_ IAccessibleComparable* other, _Out_ BOOL* result)
 {
+    if (!result || !other)
+        return E_POINTER;
+
     COMPtr<AccessibleBase> otherAccessibleBase(Query, other);
     *result = (otherAccessibleBase == this || otherAccessibleBase->m_object == m_object);
     return S_OK;
index 54123ef..ebe7532 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008, 2009, 2010, 2013 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008-2010, 2013, 2015 Apple Inc. All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -38,90 +38,98 @@ public:
     static AccessibleBase* createInstance(WebCore::AccessibilityObject*, HWND);
 
     // IServiceProvider
-    virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppv);
+    virtual HRESULT STDMETHODCALLTYPE QueryService(_In_ REFGUID guidService, _In_ REFIID riid, _COM_Outptr_ void **ppv);
 
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++m_refCount; }
-    virtual ULONG STDMETHODCALLTYPE Release(void);
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return ++m_refCount; }
+    virtual ULONG STDMETHODCALLTYPE Release();
 
     // IAccessible2_2
-    virtual HRESULT STDMETHODCALLTYPE get_attribute(BSTR name, VARIANT* attribute);
-    virtual HRESULT STDMETHODCALLTYPE get_accessibleWithCaret(IUnknown** accessible, long* caretOffset);
-    virtual HRESULT STDMETHODCALLTYPE get_relationTargetsOfType(BSTR type, long maxTargets, IUnknown*** targets, long* nTargets);
+    virtual HRESULT STDMETHODCALLTYPE get_attribute(_In_ BSTR name, _Out_ VARIANT* attribute);
+    virtual HRESULT STDMETHODCALLTYPE get_accessibleWithCaret(_COM_Outptr_opt_ IUnknown** accessible, _Out_ long* caretOffset);
+    virtual HRESULT STDMETHODCALLTYPE get_relationTargetsOfType(_In_ BSTR type, long maxTargets, __deref_out_ecount_full_opt(*nTargets) IUnknown*** targets, _Out_ long* nTargets);
 
     // IAccessible2
-    virtual HRESULT STDMETHODCALLTYPE get_nRelations(long*);
-    virtual HRESULT STDMETHODCALLTYPE get_relation(long relationIndex, IAccessibleRelation**);
-    virtual HRESULT STDMETHODCALLTYPE get_relations(long maxRelations, IAccessibleRelation** relations, long* nRelations);
-    virtual HRESULT STDMETHODCALLTYPE role(long*);
+    virtual HRESULT STDMETHODCALLTYPE get_nRelations(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE get_relation(long relationIndex, _COM_Outptr_opt_ IAccessibleRelation**);
+    virtual HRESULT STDMETHODCALLTYPE get_relations(long maxRelations, __out_ecount_part(maxRelations, *nRelations) IAccessibleRelation**, _Out_ long* nRelations);
+    virtual HRESULT STDMETHODCALLTYPE role(_Out_ long*);
     virtual HRESULT STDMETHODCALLTYPE scrollTo(IA2ScrollType);
     virtual HRESULT STDMETHODCALLTYPE scrollToPoint(IA2CoordinateType, long x, long y);
-    virtual HRESULT STDMETHODCALLTYPE get_groupPosition(long* groupLevel, long* similarItemsInGroup, long* positionInGroup);
-    virtual HRESULT STDMETHODCALLTYPE get_states(AccessibleStates*);
-    virtual HRESULT STDMETHODCALLTYPE get_extendedRole(BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE get_nExtendedStates(long*);
-    virtual HRESULT STDMETHODCALLTYPE get_extendedStates(long maxExtendedStates, BSTR** extendedStates, long* nExtendedStates);
-    virtual HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(long maxLocalizedExtendedStates, BSTR** localizedExtendedStates, long* nLocalizedExtendedStates);
-    virtual HRESULT STDMETHODCALLTYPE get_uniqueID(long*);
-    virtual HRESULT STDMETHODCALLTYPE get_windowHandle(HWND*);
-    virtual HRESULT STDMETHODCALLTYPE get_indexInParent(long*);
-    virtual HRESULT STDMETHODCALLTYPE get_locale(IA2Locale*);
-    virtual HRESULT STDMETHODCALLTYPE get_attributes(BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE get_groupPosition(_Out_ long* groupLevel, _Out_ long* similarItemsInGroup, _Out_ long* positionInGroup);
+    virtual HRESULT STDMETHODCALLTYPE get_states(_Out_ AccessibleStates*);
+    virtual HRESULT STDMETHODCALLTYPE get_extendedRole(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE get_nExtendedStates(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE get_extendedStates(long maxExtendedStates, __deref_out_ecount_part_opt(maxExtendedStates, *nExtendedStates) BSTR** extendedStates, _Out_ long* nExtendedStates);
+    virtual HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(long maxLocalizedExtendedStates, __deref_out_ecount_part_opt(maxLocalizedExtendedStates, *nLocalizedExtendedStates) BSTR** localizedExtendedStates, _Out_ long* nLocalizedExtendedStates);
+    virtual HRESULT STDMETHODCALLTYPE get_uniqueID(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE get_windowHandle(_Out_ HWND*);
+    virtual HRESULT STDMETHODCALLTYPE get_indexInParent(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE get_locale(_Out_ IA2Locale*);
+    virtual HRESULT STDMETHODCALLTYPE get_attributes(__deref_opt_out BSTR*);
 
     // IAccessible
-    virtual HRESULT STDMETHODCALLTYPE get_accParent(IDispatch**);
-    virtual HRESULT STDMETHODCALLTYPE get_accChildCount(long*);
-    virtual HRESULT STDMETHODCALLTYPE get_accChild(VARIANT vChild, IDispatch** ppChild);
-    virtual HRESULT STDMETHODCALLTYPE get_accName(VARIANT vChild, BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE get_accValue(VARIANT vChild, BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE get_accDescription(VARIANT, BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE get_accRole(VARIANT vChild, VARIANT* pvRole);
-    virtual HRESULT STDMETHODCALLTYPE get_accState(VARIANT vChild, VARIANT* pvState);
-    virtual HRESULT STDMETHODCALLTYPE get_accHelp(VARIANT vChild, BSTR* helpText);
-    virtual HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(VARIANT vChild, BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE get_accFocus(VARIANT* pvFocusedChild);
-    virtual HRESULT STDMETHODCALLTYPE get_accSelection(VARIANT* pvSelectedChild);
-    virtual HRESULT STDMETHODCALLTYPE get_accDefaultAction(VARIANT vChild, BSTR* actionDescription);
+    virtual HRESULT STDMETHODCALLTYPE get_accParent(_COM_Outptr_opt_ IDispatch**);
+    virtual HRESULT STDMETHODCALLTYPE get_accChildCount(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE get_accChild(VARIANT vChild, _COM_Outptr_opt_ IDispatch** ppChild);
+    virtual HRESULT STDMETHODCALLTYPE get_accName(VARIANT vChild, __deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE get_accValue(VARIANT vChild, __deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE get_accDescription(VARIANT, __deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE get_accRole(VARIANT vChild, _Out_ VARIANT* pvRole);
+    virtual HRESULT STDMETHODCALLTYPE get_accState(VARIANT vChild, _Out_ VARIANT* pvState);
+    virtual HRESULT STDMETHODCALLTYPE get_accHelp(VARIANT vChild, __deref_opt_out BSTR* helpText);
+    virtual HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(VARIANT vChild, __deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE get_accFocus(_Out_ VARIANT* pvFocusedChild);
+    virtual HRESULT STDMETHODCALLTYPE get_accSelection(_Out_ VARIANT* pvSelectedChild);
+    virtual HRESULT STDMETHODCALLTYPE get_accDefaultAction(VARIANT vChild, __deref_opt_out BSTR* actionDescription);
     virtual HRESULT STDMETHODCALLTYPE accSelect(long selectionFlags, VARIANT vChild);
-    virtual HRESULT STDMETHODCALLTYPE accLocation(long* left, long* top, long* width, long* height, VARIANT vChild);
-    virtual HRESULT STDMETHODCALLTYPE accNavigate(long direction, VARIANT vFromChild, VARIANT* pvNavigatedTo);
-    virtual HRESULT STDMETHODCALLTYPE accHitTest(long x, long y, VARIANT* pvChildAtPoint);
+    virtual HRESULT STDMETHODCALLTYPE accLocation(_Out_ long* left, _Out_ long* top, _Out_ long* width, _Out_ long* height, VARIANT vChild);
+    virtual HRESULT STDMETHODCALLTYPE accNavigate(long direction, VARIANT vFromChild, _Out_ VARIANT* pvNavigatedTo);
+    virtual HRESULT STDMETHODCALLTYPE accHitTest(long x, long y, _Out_ VARIANT* pvChildAtPoint);
     virtual HRESULT STDMETHODCALLTYPE accDoDefaultAction(VARIANT vChild);
 
     // IAccessible - Not to be implemented.
-    virtual HRESULT STDMETHODCALLTYPE put_accName(VARIANT, BSTR) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE put_accValue(VARIANT, BSTR) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE get_accHelpTopic(BSTR* helpFile, VARIANT, long* topicID)
+    virtual HRESULT STDMETHODCALLTYPE put_accName(VARIANT, _In_ BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE put_accValue(VARIANT, _In_ BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE get_accHelpTopic(BSTR* helpFile, VARIANT, _Out_ long* topicID)
     {
-        *helpFile = 0;
+        if (!helpFile || !topicID)
+            return E_POINTER;
+
+        *helpFile = nullptr;
         *topicID = 0;
         return E_NOTIMPL;
     }
 
     // IDispatch - Not to be implemented.
-    virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT* count)
+    virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(_Out_ UINT* count)
     {
+        if (!count)
+            return E_POINTER;
         *count = 0;
         return E_NOTIMPL;
     }
-    virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT, LCID, ITypeInfo** ppTInfo)
+    virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT, LCID, __deref_out_opt ITypeInfo** ppTInfo)
     {
-        *ppTInfo = 0;
+        if (!ppTInfo)
+            return E_POINTER;
+        *ppTInfo = nullptr;
         return E_NOTIMPL;
     }
-    virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID, LPOLESTR*, UINT, LCID, DISPID*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(_In_ REFIID, LPOLESTR*, UINT, LCID, DISPID*) { return E_NOTIMPL; }
     virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*) { return E_NOTIMPL; }
 
     // WebCore::AccessibilityObjectWrapper
-    virtual void detach() {
+    virtual void detach()
+    {
         ASSERT(m_object);
-        m_object = 0;
+        m_object = nullptr;
     }
 
     // IAccessibleComparable
-    virtual HRESULT STDMETHODCALLTYPE isSameObject(IAccessibleComparable* other, BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE isSameObject(_In_opt_ IAccessibleComparable* other, _Out_ BOOL* result);
 
 protected:
     AccessibleBase(WebCore::AccessibilityObject*, HWND);
@@ -137,7 +145,7 @@ protected:
     AccessibleBase* wrapper(WebCore::AccessibilityObject*) const;
 
     HWND m_window;
-    int m_refCount;
+    int m_refCount { 0 };
 
 private:
     AccessibleBase() { }
index 83a002f..136fa0f 100644 (file)
@@ -678,8 +678,10 @@ HRESULT AccessibleText::get_attributes(BSTR* attributes)
 }
 
 // IUnknown
-HRESULT STDMETHODCALLTYPE AccessibleText::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT AccessibleText::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
+    if (!ppvObject)
+        return E_POINTER;
     if (IsEqualGUID(riid, __uuidof(IAccessibleText)))
         *ppvObject = static_cast<IAccessibleText*>(this);
     else if (IsEqualGUID(riid, __uuidof(IAccessibleEditableText)))
@@ -701,7 +703,7 @@ HRESULT STDMETHODCALLTYPE AccessibleText::QueryInterface(REFIID riid, void** ppv
     else if (IsEqualGUID(riid, __uuidof(AccessibleBase)))
         *ppvObject = static_cast<AccessibleBase*>(this);
     else {
-        *ppvObject = 0;
+        *ppvObject = nullptr;
         return E_NOINTERFACE;
     }
     AddRef();
index 2b79c7d..ce06876 100644 (file)
@@ -68,9 +68,9 @@ public:
     virtual HRESULT STDMETHODCALLTYPE setAttributes(long startOffset, long endOffset, BSTR* attributes);
 
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++m_refCount; }
-    virtual ULONG STDMETHODCALLTYPE Release(void);
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return ++m_refCount; }
+    virtual ULONG STDMETHODCALLTYPE Release();
 
     // IAccessibleBase
     virtual HRESULT STDMETHODCALLTYPE get_attributes(BSTR* attributes);
index d67bfe6..82ee6b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -32,7 +32,6 @@
 // CFDictionaryPropertyBag -----------------------------------------------
 
 CFDictionaryPropertyBag::CFDictionaryPropertyBag()
-    : m_refCount(0)
 {
     gClassCount++;
     gClassNameCount().add("CFDictionaryPropertyBag");
@@ -61,9 +60,11 @@ CFMutableDictionaryRef CFDictionaryPropertyBag::dictionary() const
 
 // IUnknown -------------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT CFDictionaryPropertyBag::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IUnknown))
         *ppvObject = static_cast<IPropertyBag*>(this);
     else if (IsEqualGUID(riid, IID_IPropertyBag))
@@ -77,7 +78,7 @@ HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::QueryInterface(REFIID riid, v
     return S_OK;
 }
 
-ULONG STDMETHODCALLTYPE CFDictionaryPropertyBag::AddRef(void)
+ULONG STDMETHODCALLTYPE CFDictionaryPropertyBag::AddRef()
 {
     return ++m_refCount;
 }
@@ -172,7 +173,7 @@ HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::Read(LPCOLESTR pszPropName, V
     return E_FAIL;
 }
         
-HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
+HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar)
 {
     if (!pszPropName || !pVar)
         return E_POINTER;
index fae61dc..6dd4d1b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2009, 2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -47,14 +47,14 @@ private:
     CFDictionaryPropertyBag();
     ~CFDictionaryPropertyBag();
 
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void** ppvObject);
 
     // IPropertyBag
     virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT*, IErrorLog*);
-    virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT*);
+    virtual HRESULT STDMETHODCALLTYPE Write(_In_ LPCOLESTR pszPropName, _In_  VARIANT*);
 
     RetainPtr<CFMutableDictionaryRef> m_dictionary;
-    ULONG m_refCount;
+    ULONG m_refCount { 0 };
 };
 
 #endif // CFDictionaryPropertyBag_h
index d899793..cba2ff6 100644 (file)
@@ -42,7 +42,7 @@ public:
     static COMEnumVariant* createInstance(const ContainerType&);
 
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
     virtual ULONG STDMETHODCALLTYPE AddRef();
     virtual ULONG STDMETHODCALLTYPE Release();
 
@@ -50,24 +50,22 @@ public:
     virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched);
     virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt);
     virtual HRESULT STDMETHODCALLTYPE Reset();
-    virtual HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT** ppEnum);
+    virtual HRESULT STDMETHODCALLTYPE Clone(_COM_Outptr_opt_ IEnumVARIANT** ppEnum);
 
 private:
     COMEnumVariant()
-        : m_refCount(0)
     {
     }
 
     COMEnumVariant(const ContainerType& container)
-        : m_refCount(0)
-        , m_container(container)       
+        : m_container(container)       
         , m_currentPos(m_container.begin())
     {
     }
 
     ~COMEnumVariant() {}
 
-    ULONG m_refCount;
+    ULONG m_refCount { 0 };
 
     ContainerType m_container;
     typename ContainerType::const_iterator m_currentPos;
@@ -94,9 +92,11 @@ COMEnumVariant<typename ContainerType>* COMEnumVariant<ContainerType>::createIns
 
 // IUnknown ------------------------------------------------------------------------
 template<typename ContainerType>
-HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IUnknown))
         *ppvObject = static_cast<COMEnumVariant*>(this);
     else if (IsEqualGUID(riid, IID_IEnumVARIANT))
@@ -168,12 +168,12 @@ HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Reset()
 }
     
 template<typename ContainerType>
-HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Clone(IEnumVARIANT** ppEnum)
+HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Clone(_COM_Outptr_opt_ IEnumVARIANT** ppEnum)
 {
     if (!ppEnum)
         return E_POINTER;
 
-    *ppEnum = 0;
+    *ppEnum = nullptr;
     return E_NOTIMPL;
 }
 
index 8996b6d..ba8f534 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008, 2015 Apple Inc. All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -47,36 +47,34 @@ public:
     static COMPropertyBag* adopt(HashMapType&);
 
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
     virtual ULONG STDMETHODCALLTYPE AddRef();
     virtual ULONG STDMETHODCALLTYPE Release();
 
     // IPropertyBag
     virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT*, IErrorLog*);
-    virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT*);
+    virtual HRESULT STDMETHODCALLTYPE Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT*);
 
     // IPropertyBag2
-    virtual HRESULT STDMETHODCALLTYPE Read(ULONG cProperties, PROPBAG2*, IErrorLog*, VARIANT* pvarValue, HRESULT* phrError);
-    virtual HRESULT STDMETHODCALLTYPE Write(ULONG cProperties, PROPBAG2*, VARIANT*);
-    virtual HRESULT STDMETHODCALLTYPE CountProperties(ULONG* pcProperties);
-    virtual HRESULT STDMETHODCALLTYPE GetPropertyInfo(ULONG iProperty, ULONG cProperties, PROPBAG2* pPropBag, ULONG* pcProperties);
-    virtual HRESULT STDMETHODCALLTYPE LoadObject(LPCOLESTR pstrName, DWORD dwHint, IUnknown*, IErrorLog*);
+    virtual HRESULT STDMETHODCALLTYPE Read(ULONG cProperties, __inout_ecount_full(cProperties) PROPBAG2*, _In_opt_ IErrorLog*, __out_ecount_full(cProperties) VARIANT*, __inout_ecount_full_opt(cProperties) HRESULT*);
+    virtual HRESULT STDMETHODCALLTYPE Write(ULONG cProperties, __inout_ecount_full(cProperties) PROPBAG2*, __inout_ecount_full(cProperties) VARIANT*);
+    virtual HRESULT STDMETHODCALLTYPE CountProperties(_Out_ ULONG* pcProperties);
+    virtual HRESULT STDMETHODCALLTYPE GetPropertyInfo(ULONG iProperty, ULONG cProperties, __out_ecount_full(cProperties) PROPBAG2*, _Out_ ULONG* pcProperties);
+    virtual HRESULT STDMETHODCALLTYPE LoadObject(_In_ LPCOLESTR pstrName, DWORD dwHint, _In_opt_ IUnknown*, _In_opt_ IErrorLog*);
 
 private:
     COMPropertyBag()
-        : m_refCount(0)
     {
     }
 
     COMPropertyBag(const HashMapType& hashMap)
-        : m_refCount(0)
-        , m_hashMap(hashMap)
+        : m_hashMap(hashMap)
     {
     }
 
     ~COMPropertyBag() {}
 
-    ULONG m_refCount;
+    ULONG m_refCount { 0 };
     HashMapType m_hashMap;
 };
 
@@ -100,9 +98,11 @@ COMPropertyBag<ValueType, KeyType, HashType>* COMPropertyBag<typename ValueType,
 
 // IUnknown ------------------------------------------------------------------------
 template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IUnknown))
         *ppvObject = static_cast<IPropertyBag*>(this);
     else if (IsEqualGUID(riid, IID_IPropertyBag))
@@ -156,13 +156,13 @@ HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Read(LPC
 }
 
 template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Write(LPCOLESTR pszPropName, VARIANT* pVar)
+HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar)
 {
     return E_FAIL;
 }
 
 template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Read(ULONG cProperties, PROPBAG2* pPropBag, IErrorLog* pErrorLog, VARIANT* pvarValue, HRESULT* phrError)
+HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Read(ULONG cProperties, __inout_ecount_full(cProperties) PROPBAG2* pPropBag, _In_opt_ IErrorLog* pErrorLog, __out_ecount_full(cProperties) VARIANT* pvarValue, __inout_ecount_full_opt(cProperties) HRESULT* phrError)
 {
     if (!pPropBag || !pvarValue || !phrError)
         return E_POINTER;
@@ -181,13 +181,13 @@ HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Read(ULO
 }
 
 template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Write(ULONG cProperties, PROPBAG2*, VARIANT*)
+HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Write(ULONG cProperties, __inout_ecount_full(cProperties) PROPBAG2*, __inout_ecount_full(cProperties) VARIANT*)
 {
     return E_NOTIMPL;
 }
 
 template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::CountProperties(ULONG* pcProperties)
+HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::CountProperties(_Out_ ULONG* pcProperties)
 {
     if (!pcProperties)
         return E_POINTER;
@@ -197,11 +197,13 @@ HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::CountPro
 }
 
 template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::GetPropertyInfo(ULONG iProperty, ULONG cProperties, PROPBAG2* pPropBag, ULONG* pcProperties)
+HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::GetPropertyInfo(ULONG iProperty, ULONG cProperties, __out_ecount_full(cProperties) PROPBAG2* pPropBag, _Out_ ULONG* pcProperties)
 {
     if (!pPropBag || !pcProperties)
         return E_POINTER;
 
+    *pcProperties = 0;
+
     if (m_hashMap.size() <= iProperty)
         return E_INVALIDARG;
 
@@ -229,7 +231,7 @@ HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::GetPrope
 }
 
 template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::LoadObject(LPCOLESTR pstrName, DWORD dwHint, IUnknown*, IErrorLog*)
+HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::LoadObject(_In_ LPCOLESTR pstrName, DWORD dwHint, _In_opt_ IUnknown*, _In_opt_ IErrorLog*)
 {
     return E_NOTIMPL;
 }
index 2f34d80..d2279fa 100644 (file)
+2015-08-19  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Replace MIDL [in/out] comments with equivalent SAL
+        https://bugs.webkit.org/show_bug.cgi?id=148001
+
+        Reviewed by Tim Horton.
+
+        Change the many "/*[in]*/" and "/*[out]*/" comments in the
+        Windows interface code to use the equivalent SAL macros. This
+        will allow MSVC static analysis to actually enforce that these
+        semantics are being honored, and provide better compile-time
+        support for avoiding API misuse.
+
+        While making these changes, I also corrected a number of bad
+        style issues in the Windows code:
+        - Use 'nullptr' instead of 0
+        - Check for null input pointers instead of blindly dereferencing
+        them.
+        - Enforce the null-on-error behavior expected on COM interfaces.
+
+        * AccessibleBase.cpp:
+        (AccessibleBase::AccessibleBase):
+        (AccessibleBase::createInstance):
+        (AccessibleBase::QueryService):
+        (AccessibleBase::QueryInterface):
+        (AccessibleBase::Release):
+        (AccessibleBase::get_attribute):
+        (AccessibleBase::get_accessibleWithCaret):
+        (AccessibleBase::get_relationTargetsOfType):
+        (AccessibleBase::get_nRelations):
+        (AccessibleBase::get_relation):
+        (AccessibleBase::get_relations):
+        (AccessibleBase::role):
+        (AccessibleBase::scrollToPoint):
+        (AccessibleBase::get_groupPosition):
+        (AccessibleBase::get_states):
+        (AccessibleBase::get_extendedRole):
+        (AccessibleBase::get_localizedExtendedRole):
+        (AccessibleBase::get_nExtendedStates):
+        (AccessibleBase::get_extendedStates):
+        (AccessibleBase::get_localizedExtendedStates):
+        (AccessibleBase::get_uniqueID):
+        (AccessibleBase::get_windowHandle):
+        (AccessibleBase::get_indexInParent):
+        (AccessibleBase::get_locale):
+        (AccessibleBase::get_attributes):
+        (AccessibleBase::get_accParent):
+        (AccessibleBase::get_accChildCount):
+        (AccessibleBase::get_accChild):
+        (AccessibleBase::get_accName):
+        (AccessibleBase::get_accValue):
+        (AccessibleBase::get_accDescription):
+        (AccessibleBase::get_accRole):
+        (AccessibleBase::state):
+        (AccessibleBase::get_accState):
+        (AccessibleBase::get_accHelp):
+        (AccessibleBase::get_accKeyboardShortcut):
+        (AccessibleBase::accSelect):
+        (AccessibleBase::get_accSelection):
+        (AccessibleBase::get_accFocus):
+        (AccessibleBase::get_accDefaultAction):
+        (AccessibleBase::accLocation):
+        (AccessibleBase::accNavigate):
+        (AccessibleBase::accHitTest):
+        (AccessibleBase::accDoDefaultAction):
+        (AccessibleBase::wrapper):
+        (AccessibleBase::isSameObject):
+        * AccessibleBase.h:
+        * AccessibleTextImpl.cpp:
+        (AccessibleText::get_attributes):
+        (AccessibleText::QueryInterface):
+        * AccessibleTextImpl.h:
+        (AccessibleText::AddRef):
+        * CFDictionaryPropertyBag.cpp:
+        (CFDictionaryPropertyBag::CFDictionaryPropertyBag):
+        (CFDictionaryPropertyBag::QueryInterface):
+        (CFDictionaryPropertyBag::AddRef):
+        (CFDictionaryPropertyBag::Read):
+        (CFDictionaryPropertyBag::Write):
+        * CFDictionaryPropertyBag.h:
+        * COMEnumVariant.h:
+        (COMEnumVariant::COMEnumVariant):
+        (COMEnumVariant::~COMEnumVariant):
+        (COMEnumVariant<ContainerType>::QueryInterface):
+        (COMEnumVariant<ContainerType>::Reset):
+        (COMEnumVariant<ContainerType>::Clone):
+        * COMPropertyBag.h:
+        (COMPropertyBag::COMPropertyBag):
+        (COMPropertyBag::~COMPropertyBag):
+        (HashType>::QueryInterface):
+        (HashType>::Read):
+        (HashType>::Write):
+        (HashType>::CountProperties):
+        (HashType>::GetPropertyInfo):
+        (HashType>::LoadObject):
+        * DOMCSSClasses.cpp:
+        (DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
+        (DOMCSSStyleDeclaration::createInstance):
+        (DOMCSSStyleDeclaration::QueryInterface):
+        (DOMCSSStyleDeclaration::cssText):
+        (DOMCSSStyleDeclaration::setCssText):
+        (DOMCSSStyleDeclaration::getPropertyValue):
+        (DOMCSSStyleDeclaration::getPropertyCSSValue):
+        (DOMCSSStyleDeclaration::removeProperty):
+        (DOMCSSStyleDeclaration::getPropertyPriority):
+        (DOMCSSStyleDeclaration::setProperty):
+        (DOMCSSStyleDeclaration::length):
+        (DOMCSSStyleDeclaration::item):
+        (DOMCSSStyleDeclaration::parentRule):
+        * DOMCSSClasses.h:
+        (DOMCSSStyleDeclaration::AddRef):
+        (DOMCSSStyleDeclaration::Release):
+        (DOMCSSStyleDeclaration::throwException):
+        (DOMCSSStyleDeclaration::callWebScriptMethod):
+        (DOMCSSStyleDeclaration::evaluateWebScript):
+        (DOMCSSStyleDeclaration::removeWebScriptKey):
+        (DOMCSSStyleDeclaration::stringRepresentation):
+        (DOMCSSStyleDeclaration::webScriptValueAtIndex):
+        (DOMCSSStyleDeclaration::setWebScriptValueAtIndex):
+        (DOMCSSStyleDeclaration::setException):
+        * DOMCoreClasses.cpp:
+        (DOMObject::QueryInterface):
+        (DOMNode::QueryInterface):
+        (DOMNode::nodeName):
+        (DOMNode::nodeValue):
+        (DOMNode::setNodeValue):
+        (DOMNode::nodeType):
+        (DOMNode::parentNode):
+        (DOMNode::childNodes):
+        (DOMNode::firstChild):
+        (DOMNode::lastChild):
+        (DOMNode::previousSibling):
+        (DOMNode::nextSibling):
+        (DOMNode::attributes):
+        (DOMNode::ownerDocument):
+        (DOMNode::insertBefore):
+        (DOMNode::replaceChild):
+        (DOMNode::removeChild):
+        (DOMNode::appendChild):
+        (DOMNode::hasChildNodes):
+        (DOMNode::cloneNode):
+        (DOMNode::normalize):
+        (DOMNode::isSupported):
+        (DOMNode::namespaceURI):
+        (DOMNode::prefix):
+        (DOMNode::setPrefix):
+        (DOMNode::localName):
+        (DOMNode::hasAttributes):
+        (DOMNode::isSameNode):
+        (DOMNode::isEqualNode):
+        (DOMNode::textContent):
+        (DOMNode::setTextContent):
+        (DOMNode::addEventListener):
+        (DOMNode::removeEventListener):
+        (DOMNode::dispatchEvent):
+        (DOMNode::DOMNode):
+        (DOMNode::createInstance):
+        (DOMNodeList::QueryInterface):
+        (DOMNodeList::item):
+        (DOMNodeList::length):
+        (DOMNodeList::DOMNodeList):
+        (DOMNodeList::createInstance):
+        (DOMDocument::QueryInterface):
+        (DOMDocument::doctype):
+        (DOMDocument::implementation):
+        (DOMDocument::documentElement):
+        (DOMDocument::createElement):
+        (DOMDocument::createDocumentFragment):
+        (DOMDocument::createTextNode):
+        (DOMDocument::createComment):
+        (DOMDocument::createCDATASection):
+        (DOMDocument::createProcessingInstruction):
+        (DOMDocument::createAttribute):
+        (DOMDocument::createEntityReference):
+        (DOMDocument::getElementsByTagName):
+        (DOMDocument::importNode):
+        (DOMDocument::createElementNS):
+        (DOMDocument::createAttributeNS):
+        (DOMDocument::getElementsByTagNameNS):
+        (DOMDocument::getElementById):
+        (DOMDocument::getComputedStyle):
+        (DOMDocument::createEvent):
+        (DOMDocument::DOMDocument):
+        (DOMDocument::createInstance):
+        (DOMWindow::QueryInterface):
+        (DOMWindow::document):
+        (DOMWindow::getComputedStyle):
+        (DOMWindow::getMatchedCSSRules):
+        (DOMWindow::devicePixelRatio):
+        (DOMWindow::addEventListener):
+        (DOMWindow::removeEventListener):
+        (DOMWindow::dispatchEvent):
+        (DOMWindow::DOMWindow):
+        (DOMWindow::createInstance):
+        (DOMElement::QueryInterface):
+        (DOMElement::boundingBox):
+        (DOMElement::lineBoxRects):
+        (DOMElement::tagName):
+        (DOMElement::getAttribute):
+        (DOMElement::setAttribute):
+        (DOMElement::removeAttribute):
+        (DOMElement::getAttributeNode):
+        (DOMElement::setAttributeNode):
+        (DOMElement::removeAttributeNode):
+        (DOMElement::getElementsByTagName):
+        (DOMElement::getAttributeNS):
+        (DOMElement::setAttributeNS):
+        (DOMElement::removeAttributeNS):
+        (DOMElement::getAttributeNodeNS):
+        (DOMElement::setAttributeNodeNS):
+        (DOMElement::getElementsByTagNameNS):
+        (DOMElement::hasAttribute):
+        (DOMElement::hasAttributeNS):
+        (DOMElement::focus):
+        (DOMElement::blur):
+        (DOMElement::coreElement):
+        (DOMElement::isEqual):
+        (DOMElement::isFocused):
+        (DOMElement::innerText):
+        (DOMElement::font):
+        (DOMElement::renderedImage):
+        (DOMElement::markerTextForListItem):
+        (DOMElement::shadowPseudoId):
+        (DOMElement::style):
+        (DOMElement::offsetLeft):
+        (DOMElement::offsetTop):
+        (DOMElement::offsetWidth):
+        (DOMElement::offsetHeight):
+        (DOMElement::offsetParent):
+        (DOMElement::clientWidth):
+        (DOMElement::clientHeight):
+        (DOMElement::scrollLeft):
+        (DOMElement::setScrollLeft):
+        (DOMElement::scrollTop):
+        (DOMElement::setScrollTop):
+        (DOMElement::scrollWidth):
+        (DOMElement::scrollHeight):
+        (DOMElement::scrollIntoView):
+        (DOMElement::scrollIntoViewIfNeeded):
+        (DOMElement::DOMElement):
+        (DOMElement::createInstance):
+        (DOMRange::QueryInterface):
+        (DOMRange::createInstance):
+        (DOMRange::startContainer):
+        (DOMRange::startOffset):
+        (DOMRange::endContainer):
+        (DOMRange::endOffset):
+        (DOMRange::collapsed):
+        (DOMRange::commonAncestorContainer):
+        (DOMRange::setStart):
+        (DOMRange::setEnd):
+        (DOMRange::setStartBefore):
+        (DOMRange::setStartAfter):
+        (DOMRange::setEndBefore):
+        (DOMRange::setEndAfter):
+        (DOMRange::collapse):
+        (DOMRange::selectNode):
+        (DOMRange::selectNodeContents):
+        (DOMRange::compareBoundaryPoints):
+        (DOMRange::deleteContents):
+        (DOMRange::extractContents):
+        (DOMRange::cloneContents):
+        (DOMRange::insertNode):
+        (DOMRange::surroundContents):
+        (DOMRange::cloneRange):
+        (DOMRange::toString):
+        (DOMRange::detach):
+        * DOMCoreClasses.h:
+        (DOMObject::AddRef):
+        (DOMObject::Release):
+        (DOMObject::throwException):
+        (DOMObject::callWebScriptMethod):
+        (DOMObject::evaluateWebScript):
+        (DOMObject::removeWebScriptKey):
+        (DOMObject::stringRepresentation):
+        (DOMObject::webScriptValueAtIndex):
+        (DOMObject::setWebScriptValueAtIndex):
+        (DOMObject::setException):
+        (DOMNodeList::AddRef):
+        (DOMNodeList::Release):
+        (DOMNodeList::throwException):
+        (DOMNodeList::callWebScriptMethod):
+        (DOMNodeList::evaluateWebScript):
+        (DOMNodeList::removeWebScriptKey):
+        (DOMNodeList::stringRepresentation):
+        (DOMNodeList::webScriptValueAtIndex):
+        (DOMNodeList::setWebScriptValueAtIndex):
+        (DOMNodeList::setException):
+        (DOMDocument::AddRef):
+        (DOMDocument::Release):
+        (DOMDocument::throwException):
+        (DOMDocument::callWebScriptMethod):
+        (DOMDocument::evaluateWebScript):
+        (DOMDocument::removeWebScriptKey):
+        (DOMDocument::stringRepresentation):
+        (DOMDocument::webScriptValueAtIndex):
+        (DOMDocument::setWebScriptValueAtIndex):
+        (DOMDocument::setException):
+        (DOMDocument::nodeName):
+        (DOMDocument::nodeValue):
+        (DOMDocument::setNodeValue):
+        (DOMDocument::nodeType):
+        (DOMDocument::parentNode):
+        (DOMDocument::childNodes):
+        (DOMDocument::firstChild):
+        (DOMDocument::lastChild):
+        (DOMDocument::previousSibling):
+        (DOMDocument::nextSibling):
+        (DOMDocument::attributes):
+        (DOMDocument::ownerDocument):
+        (DOMDocument::insertBefore):
+        (DOMDocument::replaceChild):
+        (DOMDocument::removeChild):
+        (DOMDocument::appendChild):
+        (DOMDocument::hasChildNodes):
+        (DOMDocument::cloneNode):
+        (DOMDocument::normalize):
+        (DOMDocument::isSupported):
+        (DOMDocument::namespaceURI):
+        (DOMDocument::prefix):
+        (DOMDocument::setPrefix):
+        (DOMDocument::localName):
+        (DOMDocument::hasAttributes):
+        (DOMDocument::isSameNode):
+        (DOMDocument::isEqualNode):
+        (DOMDocument::textContent):
+        (DOMDocument::setTextContent):
+        (DOMDocument::document):
+        (DOMWindow::AddRef):
+        (DOMWindow::Release):
+        (DOMWindow::throwException):
+        (DOMWindow::callWebScriptMethod):
+        (DOMWindow::evaluateWebScript):
+        (DOMWindow::removeWebScriptKey):
+        (DOMWindow::stringRepresentation):
+        (DOMWindow::webScriptValueAtIndex):
+        (DOMWindow::setWebScriptValueAtIndex):
+        (DOMWindow::setException):
+        (DOMWindow::window):
+        (DOMElement::AddRef):
+        (DOMElement::Release):
+        (DOMElement::throwException):
+        (DOMElement::callWebScriptMethod):
+        (DOMElement::evaluateWebScript):
+        (DOMElement::removeWebScriptKey):
+        (DOMElement::stringRepresentation):
+        (DOMElement::webScriptValueAtIndex):
+        (DOMElement::setWebScriptValueAtIndex):
+        (DOMElement::setException):
+        (DOMElement::nodeName):
+        (DOMElement::nodeValue):
+        (DOMElement::setNodeValue):
+        (DOMElement::nodeType):
+        (DOMElement::parentNode):
+        (DOMElement::childNodes):
+        (DOMElement::firstChild):
+        (DOMElement::lastChild):
+        (DOMElement::previousSibling):
+        (DOMElement::nextSibling):
+        (DOMElement::attributes):
+        (DOMElement::ownerDocument):
+        (DOMElement::insertBefore):
+        (DOMElement::replaceChild):
+        (DOMElement::removeChild):
+        (DOMElement::appendChild):
+        (DOMElement::hasChildNodes):
+        (DOMElement::cloneNode):
+        (DOMElement::normalize):
+        (DOMElement::isSupported):
+        (DOMElement::namespaceURI):
+        (DOMElement::prefix):
+        (DOMElement::setPrefix):
+        (DOMElement::localName):
+        (DOMElement::hasAttributes):
+        (DOMElement::isSameNode):
+        (DOMElement::isEqualNode):
+        (DOMElement::textContent):
+        (DOMElement::setTextContent):
+        (DOMElement::element):
+        (DOMRange::AddRef):
+        (DOMRange::Release):
+        (DOMRange::throwException):
+        (DOMRange::callWebScriptMethod):
+        (DOMRange::evaluateWebScript):
+        (DOMRange::removeWebScriptKey):
+        (DOMRange::stringRepresentation):
+        (DOMRange::webScriptValueAtIndex):
+        (DOMRange::setWebScriptValueAtIndex):
+        (DOMRange::setException):
+        * DOMEventsClasses.cpp:
+        (DOMEventListener::QueryInterface):
+        (DOMEventListener::handleEvent):
+        (DOMEvent::DOMEvent):
+        (DOMEvent::createInstance):
+        (DOMEvent::QueryInterface):
+        (DOMEvent::type):
+        (DOMEvent::target):
+        (DOMEvent::currentTarget):
+        (DOMEvent::eventPhase):
+        (DOMEvent::bubbles):
+        (DOMEvent::cancelable):
+        (DOMEvent::timeStamp):
+        (DOMEvent::stopPropagation):
+        (DOMEvent::preventDefault):
+        (DOMEvent::initEvent):
+        (DOMUIEvent::QueryInterface):
+        (DOMUIEvent::view):
+        (DOMUIEvent::detail):
+        (DOMUIEvent::initUIEvent):
+        (DOMUIEvent::keyCode):
+        (DOMUIEvent::charCode):
+        (DOMUIEvent::unused1):
+        (DOMUIEvent::unused2):
+        (DOMUIEvent::pageX):
+        (DOMUIEvent::pageY):
+        (DOMUIEvent::which):
+        (DOMKeyboardEvent::QueryInterface):
+        (DOMKeyboardEvent::keyIdentifier):
+        (DOMKeyboardEvent::location):
+        (DOMKeyboardEvent::keyLocation):
+        (DOMKeyboardEvent::ctrlKey):
+        (DOMKeyboardEvent::shiftKey):
+        (DOMKeyboardEvent::altKey):
+        (DOMKeyboardEvent::metaKey):
+        (DOMKeyboardEvent::altGraphKey):
+        (DOMKeyboardEvent::getModifierState):
+        (DOMKeyboardEvent::initKeyboardEvent):
+        (DOMMouseEvent::QueryInterface):
+        (DOMMouseEvent::screenX):
+        (DOMMouseEvent::screenY):
+        (DOMMouseEvent::clientX):
+        (DOMMouseEvent::clientY):
+        (DOMMouseEvent::ctrlKey):
+        (DOMMouseEvent::shiftKey):
+        (DOMMouseEvent::altKey):
+        (DOMMouseEvent::metaKey):
+        (DOMMouseEvent::button):
+        (DOMMouseEvent::relatedTarget):
+        (DOMMouseEvent::initMouseEvent):
+        (DOMMouseEvent::offsetX):
+        (DOMMouseEvent::offsetY):
+        (DOMMouseEvent::x):
+        (DOMMouseEvent::y):
+        (DOMMouseEvent::fromElement):
+        (DOMMouseEvent::toElement):
+        (DOMMutationEvent::QueryInterface):
+        (DOMMutationEvent::relatedNode):
+        (DOMMutationEvent::prevValue):
+        (DOMMutationEvent::newValue):
+        (DOMMutationEvent::attrName):
+        (DOMMutationEvent::attrChange):
+        (DOMMutationEvent::initMutationEvent):
+        (DOMOverflowEvent::QueryInterface):
+        (DOMOverflowEvent::orient):
+        (DOMOverflowEvent::horizontalOverflow):
+        (DOMOverflowEvent::verticalOverflow):
+        (DOMWheelEvent::QueryInterface):
+        (DOMWheelEvent::screenX):
+        (DOMWheelEvent::screenY):
+        (DOMWheelEvent::clientX):
+        (DOMWheelEvent::clientY):
+        (DOMWheelEvent::ctrlKey):
+        (DOMWheelEvent::shiftKey):
+        (DOMWheelEvent::altKey):
+        (DOMWheelEvent::metaKey):
+        (DOMWheelEvent::wheelDelta):
+        (DOMWheelEvent::wheelDeltaX):
+        (DOMWheelEvent::wheelDeltaY):
+        (DOMWheelEvent::offsetX):
+        (DOMWheelEvent::offsetY):
+        (DOMWheelEvent::x):
+        (DOMWheelEvent::y):
+        (DOMWheelEvent::isHorizontal):
+        (DOMWheelEvent::initWheelEvent):
+        * DOMEventsClasses.h:
+        (DOMEventListener::AddRef):
+        (DOMEventListener::Release):
+        (DOMEventListener::throwException):
+        (DOMEventListener::callWebScriptMethod):
+        (DOMEventListener::evaluateWebScript):
+        (DOMEventListener::removeWebScriptKey):
+        (DOMEventListener::stringRepresentation):
+        (DOMEventListener::webScriptValueAtIndex):
+        (DOMEventListener::setWebScriptValueAtIndex):
+        (DOMEventListener::setException):
+        (DOMEvent::AddRef):
+        (DOMEvent::Release):
+        (DOMEvent::throwException):
+        (DOMEvent::callWebScriptMethod):
+        (DOMEvent::evaluateWebScript):
+        (DOMEvent::removeWebScriptKey):
+        (DOMEvent::stringRepresentation):
+        (DOMEvent::webScriptValueAtIndex):
+        (DOMEvent::setWebScriptValueAtIndex):
+        (DOMEvent::setException):
+        (DOMEvent::coreEvent):
+        (DOMUIEvent::DOMUIEvent):
+        (DOMUIEvent::AddRef):
+        (DOMUIEvent::Release):
+        (DOMUIEvent::throwException):
+        (DOMUIEvent::callWebScriptMethod):
+        (DOMUIEvent::evaluateWebScript):
+        (DOMUIEvent::removeWebScriptKey):
+        (DOMUIEvent::stringRepresentation):
+        (DOMUIEvent::webScriptValueAtIndex):
+        (DOMUIEvent::setWebScriptValueAtIndex):
+        (DOMUIEvent::setException):
+        (DOMUIEvent::type):
+        (DOMUIEvent::target):
+        (DOMUIEvent::currentTarget):
+        (DOMUIEvent::eventPhase):
+        (DOMUIEvent::bubbles):
+        (DOMUIEvent::cancelable):
+        (DOMUIEvent::timeStamp):
+        (DOMUIEvent::stopPropagation):
+        (DOMUIEvent::preventDefault):
+        (DOMUIEvent::initEvent):
+        (DOMKeyboardEvent::DOMKeyboardEvent):
+        (DOMKeyboardEvent::AddRef):
+        (DOMKeyboardEvent::Release):
+        (DOMKeyboardEvent::throwException):
+        (DOMKeyboardEvent::callWebScriptMethod):
+        (DOMKeyboardEvent::evaluateWebScript):
+        (DOMKeyboardEvent::removeWebScriptKey):
+        (DOMKeyboardEvent::stringRepresentation):
+        (DOMKeyboardEvent::webScriptValueAtIndex):
+        (DOMKeyboardEvent::setWebScriptValueAtIndex):
+        (DOMKeyboardEvent::setException):
+        (DOMKeyboardEvent::type):
+        (DOMKeyboardEvent::target):
+        (DOMKeyboardEvent::currentTarget):
+        (DOMKeyboardEvent::eventPhase):
+        (DOMKeyboardEvent::bubbles):
+        (DOMKeyboardEvent::cancelable):
+        (DOMKeyboardEvent::timeStamp):
+        (DOMKeyboardEvent::stopPropagation):
+        (DOMKeyboardEvent::preventDefault):
+        (DOMKeyboardEvent::initEvent):
+        (DOMKeyboardEvent::view):
+        (DOMKeyboardEvent::detail):
+        (DOMKeyboardEvent::initUIEvent):
+        (DOMKeyboardEvent::keyCode):
+        (DOMKeyboardEvent::charCode):
+        (DOMKeyboardEvent::unused1):
+        (DOMKeyboardEvent::unused2):
+        (DOMKeyboardEvent::pageX):
+        (DOMKeyboardEvent::pageY):
+        (DOMKeyboardEvent::which):
+        (DOMMouseEvent::DOMMouseEvent):
+        (DOMMouseEvent::AddRef):
+        (DOMMouseEvent::Release):
+        (DOMMouseEvent::throwException):
+        (DOMMouseEvent::callWebScriptMethod):
+        (DOMMouseEvent::evaluateWebScript):
+        (DOMMouseEvent::removeWebScriptKey):
+        (DOMMouseEvent::stringRepresentation):
+        (DOMMouseEvent::webScriptValueAtIndex):
+        (DOMMouseEvent::setWebScriptValueAtIndex):
+        (DOMMouseEvent::setException):
+        (DOMMouseEvent::type):
+        (DOMMouseEvent::target):
+        (DOMMouseEvent::currentTarget):
+        (DOMMouseEvent::eventPhase):
+        (DOMMouseEvent::bubbles):
+        (DOMMouseEvent::cancelable):
+        (DOMMouseEvent::timeStamp):
+        (DOMMouseEvent::stopPropagation):
+        (DOMMouseEvent::preventDefault):
+        (DOMMouseEvent::initEvent):
+        (DOMMouseEvent::view):
+        (DOMMouseEvent::detail):
+        (DOMMouseEvent::initUIEvent):
+        (DOMMouseEvent::keyCode):
+        (DOMMouseEvent::charCode):
+        (DOMMouseEvent::unused1):
+        (DOMMouseEvent::unused2):
+        (DOMMouseEvent::pageX):
+        (DOMMouseEvent::pageY):
+        (DOMMouseEvent::which):
+        (DOMMutationEvent::DOMMutationEvent):
+        (DOMMutationEvent::AddRef):
+        (DOMMutationEvent::Release):
+        (DOMMutationEvent::throwException):
+        (DOMMutationEvent::callWebScriptMethod):
+        (DOMMutationEvent::evaluateWebScript):
+        (DOMMutationEvent::removeWebScriptKey):
+        (DOMMutationEvent::stringRepresentation):
+        (DOMMutationEvent::webScriptValueAtIndex):
+        (DOMMutationEvent::setWebScriptValueAtIndex):
+        (DOMMutationEvent::setException):
+        (DOMMutationEvent::type):
+        (DOMMutationEvent::target):
+        (DOMMutationEvent::currentTarget):
+        (DOMMutationEvent::eventPhase):
+        (DOMMutationEvent::bubbles):
+        (DOMMutationEvent::cancelable):
+        (DOMMutationEvent::timeStamp):
+        (DOMMutationEvent::stopPropagation):
+        (DOMMutationEvent::preventDefault):
+        (DOMMutationEvent::initEvent):
+        (DOMOverflowEvent::DOMOverflowEvent):
+        (DOMOverflowEvent::AddRef):
+        (DOMOverflowEvent::Release):
+        (DOMOverflowEvent::throwException):
+        (DOMOverflowEvent::callWebScriptMethod):
+        (DOMOverflowEvent::evaluateWebScript):
+        (DOMOverflowEvent::removeWebScriptKey):
+        (DOMOverflowEvent::stringRepresentation):
+        (DOMOverflowEvent::webScriptValueAtIndex):
+        (DOMOverflowEvent::setWebScriptValueAtIndex):
+        (DOMOverflowEvent::setException):
+        (DOMOverflowEvent::type):
+        (DOMOverflowEvent::target):
+        (DOMOverflowEvent::currentTarget):
+        (DOMOverflowEvent::eventPhase):
+        (DOMOverflowEvent::bubbles):
+        (DOMOverflowEvent::cancelable):
+        (DOMOverflowEvent::timeStamp):
+        (DOMOverflowEvent::stopPropagation):
+        (DOMOverflowEvent::preventDefault):
+        (DOMOverflowEvent::initEvent):
+        (DOMWheelEvent::DOMWheelEvent):
+        (DOMWheelEvent::AddRef):
+        (DOMWheelEvent::Release):
+        (DOMWheelEvent::throwException):
+        (DOMWheelEvent::callWebScriptMethod):
+        (DOMWheelEvent::evaluateWebScript):
+        (DOMWheelEvent::removeWebScriptKey):
+        (DOMWheelEvent::stringRepresentation):
+        (DOMWheelEvent::webScriptValueAtIndex):
+        (DOMWheelEvent::setWebScriptValueAtIndex):
+        (DOMWheelEvent::setException):
+        (DOMWheelEvent::type):
+        (DOMWheelEvent::target):
+        (DOMWheelEvent::currentTarget):
+        (DOMWheelEvent::eventPhase):
+        (DOMWheelEvent::bubbles):
+        (DOMWheelEvent::cancelable):
+        (DOMWheelEvent::timeStamp):
+        (DOMWheelEvent::stopPropagation):
+        (DOMWheelEvent::preventDefault):
+        (DOMWheelEvent::initEvent):
+        (DOMWheelEvent::view):
+        (DOMWheelEvent::detail):
+        (DOMWheelEvent::initUIEvent):
+        (DOMWheelEvent::keyCode):
+        (DOMWheelEvent::charCode):
+        (DOMWheelEvent::unused1):
+        (DOMWheelEvent::unused2):
+        (DOMWheelEvent::pageX):
+        (DOMWheelEvent::pageY):
+        (DOMWheelEvent::which):
+        * DOMHTMLClasses.cpp:
+        (DOMHTMLCollection::QueryInterface):
+        (DOMHTMLCollection::length):
+        (DOMHTMLCollection::item):
+        (DOMHTMLCollection::namedItem):
+        (DOMHTMLOptionsCollection::QueryInterface):
+        (DOMHTMLOptionsCollection::createInstance):
+        (DOMHTMLOptionsCollection::length):
+        (DOMHTMLOptionsCollection::setLength):
+        (DOMHTMLOptionsCollection::item):
+        (DOMHTMLOptionsCollection::namedItem):
+        (DOMHTMLDocument::QueryInterface):
+        (DOMHTMLDocument::title):
+        (DOMHTMLDocument::setTitle):
+        (DOMHTMLDocument::referrer):
+        (DOMHTMLDocument::domain):
+        (DOMHTMLDocument::URL):
+        (DOMHTMLDocument::body):
+        (DOMHTMLDocument::setBody):
+        (DOMHTMLDocument::images):
+        (DOMHTMLDocument::applets):
+        (DOMHTMLDocument::links):
+        (DOMHTMLDocument::forms):
+        (DOMHTMLDocument::anchors):
+        (DOMHTMLDocument::cookie):
+        (DOMHTMLDocument::setCookie):
+        (DOMHTMLDocument::open):
+        (DOMHTMLDocument::close):
+        (DOMHTMLDocument::write):
+        (DOMHTMLDocument::writeln):
+        (DOMHTMLDocument::getElementById_):
+        (DOMHTMLDocument::getElementsByName):
+        (DOMHTMLElement::QueryInterface):
+        (DOMHTMLElement::idName):
+        (DOMHTMLElement::setIdName):
+        (DOMHTMLElement::title):
+        (DOMHTMLElement::setTitle):
+        (DOMHTMLElement::lang):
+        (DOMHTMLElement::setLang):
+        (DOMHTMLElement::dir):
+        (DOMHTMLElement::setDir):
+        (DOMHTMLElement::className):
+        (DOMHTMLElement::setClassName):
+        (DOMHTMLElement::innerHTML):
+        (DOMHTMLElement::setInnerHTML):
+        (DOMHTMLElement::innerText):
+        (DOMHTMLElement::setInnerText):
+        (DOMHTMLFormElement::QueryInterface):
+        (DOMHTMLFormElement::elements):
+        (DOMHTMLFormElement::length):
+        (DOMHTMLFormElement::name):
+        (DOMHTMLFormElement::setName):
+        (DOMHTMLFormElement::acceptCharset):
+        (DOMHTMLFormElement::setAcceptCharset):
+        (DOMHTMLFormElement::action):
+        (DOMHTMLFormElement::setAction):
+        (DOMHTMLFormElement::encType):
+        (DOMHTMLFormElement::setEnctype):
+        (DOMHTMLFormElement::method):
+        (DOMHTMLFormElement::setMethod):
+        (DOMHTMLFormElement::target):
+        (DOMHTMLFormElement::setTarget):
+        (DOMHTMLFormElement::submit):
+        (DOMHTMLFormElement::reset):
+        (DOMHTMLSelectElement::QueryInterface):
+        (DOMHTMLSelectElement::type):
+        (DOMHTMLSelectElement::selectedIndex):
+        (DOMHTMLSelectElement::setSelectedIndx):
+        (DOMHTMLSelectElement::value):
+        (DOMHTMLSelectElement::setValue):
+        (DOMHTMLSelectElement::length):
+        (DOMHTMLSelectElement::form):
+        (DOMHTMLSelectElement::options):
+        (DOMHTMLSelectElement::disabled):
+        (DOMHTMLSelectElement::setDisabled):
+        (DOMHTMLSelectElement::multiple):
+        (DOMHTMLSelectElement::setMultiple):
+        (DOMHTMLSelectElement::name):
+        (DOMHTMLSelectElement::setName):
+        (DOMHTMLSelectElement::size):
+        (DOMHTMLSelectElement::setSize):
+        (DOMHTMLSelectElement::tabIndex):
+        (DOMHTMLSelectElement::setTabIndex):
+        (DOMHTMLSelectElement::add):
+        (DOMHTMLSelectElement::remove):
+        (DOMHTMLSelectElement::activateItemAtIndex):
+        (DOMHTMLOptionElement::QueryInterface):
+        (DOMHTMLOptionElement::form):
+        (DOMHTMLOptionElement::defaultSelected):
+        (DOMHTMLOptionElement::setDefaultSelected):
+        (DOMHTMLOptionElement::text):
+        (DOMHTMLOptionElement::index):
+        (DOMHTMLOptionElement::disabled):
+        (DOMHTMLOptionElement::setDisabled):
+        (DOMHTMLOptionElement::label):
+        (DOMHTMLOptionElement::setLabel):
+        (DOMHTMLOptionElement::selected):
+        (DOMHTMLOptionElement::setSelected):
+        (DOMHTMLOptionElement::value):
+        (DOMHTMLOptionElement::setValue):
+        (DOMHTMLInputElement::QueryInterface):
+        (DOMHTMLInputElement::defaultValue):
+        (DOMHTMLInputElement::setDefaultValue):
+        (DOMHTMLInputElement::defaultChecked):
+        (DOMHTMLInputElement::setDefaultChecked):
+        (DOMHTMLInputElement::form):
+        (DOMHTMLInputElement::accept):
+        (DOMHTMLInputElement::setAccept):
+        (DOMHTMLInputElement::accessKey):
+        (DOMHTMLInputElement::setAccessKey):
+        (DOMHTMLInputElement::align):
+        (DOMHTMLInputElement::setAlign):
+        (DOMHTMLInputElement::alt):
+        (DOMHTMLInputElement::setAlt):
+        (DOMHTMLInputElement::checked):
+        (DOMHTMLInputElement::setChecked):
+        (DOMHTMLInputElement::disabled):
+        (DOMHTMLInputElement::setDisabled):
+        (DOMHTMLInputElement::maxLength):
+        (DOMHTMLInputElement::setMaxLength):
+        (DOMHTMLInputElement::name):
+        (DOMHTMLInputElement::setName):
+        (DOMHTMLInputElement::readOnly):
+        (DOMHTMLInputElement::setReadOnly):
+        (DOMHTMLInputElement::size):
+        (DOMHTMLInputElement::setSize):
+        (DOMHTMLInputElement::src):
+        (DOMHTMLInputElement::setSrc):
+        (DOMHTMLInputElement::tabIndex):
+        (DOMHTMLInputElement::setTabIndex):
+        (DOMHTMLInputElement::type):
+        (DOMHTMLInputElement::setType):
+        (DOMHTMLInputElement::useMap):
+        (DOMHTMLInputElement::setUseMap):
+        (DOMHTMLInputElement::value):
+        (DOMHTMLInputElement::setValue):
+        (DOMHTMLInputElement::setValueForUser):
+        (DOMHTMLInputElement::select):
+        (DOMHTMLInputElement::click):
+        (DOMHTMLInputElement::setSelectionStart):
+        (DOMHTMLInputElement::selectionStart):
+        (DOMHTMLInputElement::setSelectionEnd):
+        (DOMHTMLInputElement::selectionEnd):
+        (DOMHTMLInputElement::isTextField):
+        (DOMHTMLInputElement::rectOnScreen):
+        (DOMHTMLInputElement::replaceCharactersInRange):
+        (DOMHTMLInputElement::selectedRange):
+        (DOMHTMLInputElement::setAutofilled):
+        (DOMHTMLInputElement::isAutofilled):
+        (DOMHTMLInputElement::isUserEdited):
+        (DOMHTMLTextAreaElement::QueryInterface):
+        (DOMHTMLTextAreaElement::defaultValue):
+        (DOMHTMLTextAreaElement::setDefaultValue):
+        (DOMHTMLTextAreaElement::form):
+        (DOMHTMLTextAreaElement::accessKey):
+        (DOMHTMLTextAreaElement::setAccessKey):
+        (DOMHTMLTextAreaElement::cols):
+        (DOMHTMLTextAreaElement::setCols):
+        (DOMHTMLTextAreaElement::disabled):
+        (DOMHTMLTextAreaElement::setDisabled):
+        (DOMHTMLTextAreaElement::name):
+        (DOMHTMLTextAreaElement::setName):
+        (DOMHTMLTextAreaElement::readOnly):
+        (DOMHTMLTextAreaElement::setReadOnly):
+        (DOMHTMLTextAreaElement::rows):
+        (DOMHTMLTextAreaElement::setRows):
+        (DOMHTMLTextAreaElement::tabIndex):
+        (DOMHTMLTextAreaElement::setTabIndex):
+        (DOMHTMLTextAreaElement::type):
+        (DOMHTMLTextAreaElement::value):
+        (DOMHTMLTextAreaElement::setValue):
+        (DOMHTMLTextAreaElement::select):
+        (DOMHTMLTextAreaElement::isUserEdited):
+        (DOMHTMLIFrameElement::QueryInterface):
+        (DOMHTMLIFrameElement::contentFrame):
+        * DOMHTMLClasses.h:
+        (DOMHTMLCollection::AddRef):
+        (DOMHTMLCollection::Release):
+        (DOMHTMLCollection::throwException):
+        (DOMHTMLCollection::callWebScriptMethod):
+        (DOMHTMLCollection::evaluateWebScript):
+        (DOMHTMLCollection::removeWebScriptKey):
+        (DOMHTMLCollection::stringRepresentation):
+        (DOMHTMLCollection::webScriptValueAtIndex):
+        (DOMHTMLCollection::setWebScriptValueAtIndex):
+        (DOMHTMLCollection::setException):
+        (DOMHTMLOptionsCollection::AddRef):
+        (DOMHTMLOptionsCollection::Release):
+        (DOMHTMLOptionsCollection::throwException):
+        (DOMHTMLOptionsCollection::callWebScriptMethod):
+        (DOMHTMLOptionsCollection::evaluateWebScript):
+        (DOMHTMLOptionsCollection::removeWebScriptKey):
+        (DOMHTMLOptionsCollection::stringRepresentation):
+        (DOMHTMLOptionsCollection::webScriptValueAtIndex):
+        (DOMHTMLOptionsCollection::setWebScriptValueAtIndex):
+        (DOMHTMLOptionsCollection::setException):
+        (DOMHTMLDocument::DOMHTMLDocument):
+        (DOMHTMLDocument::AddRef):
+        (DOMHTMLDocument::Release):
+        (DOMHTMLDocument::throwException):
+        (DOMHTMLDocument::callWebScriptMethod):
+        (DOMHTMLDocument::evaluateWebScript):
+        (DOMHTMLDocument::removeWebScriptKey):
+        (DOMHTMLDocument::stringRepresentation):
+        (DOMHTMLDocument::webScriptValueAtIndex):
+        (DOMHTMLDocument::setWebScriptValueAtIndex):
+        (DOMHTMLDocument::setException):
+        (DOMHTMLDocument::nodeName):
+        (DOMHTMLDocument::nodeValue):
+        (DOMHTMLDocument::setNodeValue):
+        (DOMHTMLDocument::nodeType):
+        (DOMHTMLDocument::parentNode):
+        (DOMHTMLDocument::childNodes):
+        (DOMHTMLDocument::firstChild):
+        (DOMHTMLDocument::lastChild):
+        (DOMHTMLDocument::previousSibling):
+        (DOMHTMLDocument::nextSibling):
+        (DOMHTMLDocument::attributes):
+        (DOMHTMLDocument::ownerDocument):
+        (DOMHTMLDocument::insertBefore):
+        (DOMHTMLDocument::replaceChild):
+        (DOMHTMLDocument::removeChild):
+        (DOMHTMLDocument::appendChild):
+        (DOMHTMLDocument::hasChildNodes):
+        (DOMHTMLDocument::cloneNode):
+        (DOMHTMLDocument::normalize):
+        (DOMHTMLDocument::isSupported):
+        (DOMHTMLDocument::namespaceURI):
+        (DOMHTMLDocument::prefix):
+        (DOMHTMLDocument::setPrefix):
+        (DOMHTMLDocument::localName):
+        (DOMHTMLDocument::hasAttributes):
+        (DOMHTMLDocument::isSameNode):
+        (DOMHTMLDocument::isEqualNode):
+        (DOMHTMLDocument::textContent):
+        (DOMHTMLDocument::setTextContent):
+        (DOMHTMLDocument::doctype):
+        (DOMHTMLDocument::implementation):
+        (DOMHTMLDocument::documentElement):
+        (DOMHTMLDocument::createElement):
+        (DOMHTMLDocument::createDocumentFragment):
+        (DOMHTMLDocument::createTextNode):
+        (DOMHTMLDocument::createComment):
+        (DOMHTMLDocument::createCDATASection):
+        (DOMHTMLDocument::createProcessingInstruction):
+        (DOMHTMLDocument::createAttribute):
+        (DOMHTMLDocument::createEntityReference):
+        (DOMHTMLDocument::getElementsByTagName):
+        (DOMHTMLDocument::importNode):
+        (DOMHTMLDocument::createElementNS):
+        (DOMHTMLDocument::createAttributeNS):
+        (DOMHTMLDocument::getElementsByTagNameNS):
+        (DOMHTMLDocument::getElementById):
+        (DOMHTMLElement::DOMHTMLElement):
+        (DOMHTMLElement::AddRef):
+        (DOMHTMLElement::Release):
+        (DOMHTMLElement::throwException):
+        (DOMHTMLElement::callWebScriptMethod):
+        (DOMHTMLElement::evaluateWebScript):
+        (DOMHTMLElement::removeWebScriptKey):
+        (DOMHTMLElement::stringRepresentation):
+        (DOMHTMLElement::webScriptValueAtIndex):
+        (DOMHTMLElement::setWebScriptValueAtIndex):
+        (DOMHTMLElement::setException):
+        (DOMHTMLElement::nodeName):
+        (DOMHTMLElement::nodeValue):
+        (DOMHTMLElement::setNodeValue):
+        (DOMHTMLElement::nodeType):
+        (DOMHTMLElement::parentNode):
+        (DOMHTMLElement::childNodes):
+        (DOMHTMLElement::firstChild):
+        (DOMHTMLElement::lastChild):
+        (DOMHTMLElement::previousSibling):
+        (DOMHTMLElement::nextSibling):
+        (DOMHTMLElement::attributes):
+        (DOMHTMLElement::ownerDocument):
+        (DOMHTMLElement::insertBefore):
+        (DOMHTMLElement::replaceChild):
+        (DOMHTMLElement::removeChild):
+        (DOMHTMLElement::appendChild):
+        (DOMHTMLElement::hasChildNodes):
+        (DOMHTMLElement::cloneNode):
+        (DOMHTMLElement::normalize):
+        (DOMHTMLElement::isSupported):
+        (DOMHTMLElement::namespaceURI):
+        (DOMHTMLElement::prefix):
+        (DOMHTMLElement::setPrefix):
+        (DOMHTMLElement::localName):
+        (DOMHTMLElement::hasAttributes):
+        (DOMHTMLElement::isSameNode):
+        (DOMHTMLElement::isEqualNode):
+        (DOMHTMLElement::textContent):
+        (DOMHTMLElement::setTextContent):
+        (DOMHTMLElement::tagName):
+        (DOMHTMLElement::getAttribute):
+        (DOMHTMLElement::setAttribute):
+        (DOMHTMLElement::removeAttribute):
+        (DOMHTMLElement::getAttributeNode):
+        (DOMHTMLElement::setAttributeNode):
+        (DOMHTMLElement::removeAttributeNode):
+        (DOMHTMLElement::getElementsByTagName):
+        (DOMHTMLElement::getAttributeNS):
+        (DOMHTMLElement::setAttributeNS):
+        (DOMHTMLElement::removeAttributeNS):
+        (DOMHTMLElement::getAttributeNodeNS):
+        (DOMHTMLElement::setAttributeNodeNS):
+        (DOMHTMLElement::getElementsByTagNameNS):
+        (DOMHTMLElement::hasAttribute):
+        (DOMHTMLElement::hasAttributeNS):
+        (DOMHTMLElement::focus):
+        (DOMHTMLElement::blur):
+        (DOMHTMLFormElement::DOMHTMLFormElement):
+        (DOMHTMLFormElement::AddRef):
+        (DOMHTMLFormElement::Release):
+        (DOMHTMLFormElement::throwException):
+        (DOMHTMLFormElement::callWebScriptMethod):
+        (DOMHTMLFormElement::evaluateWebScript):
+        (DOMHTMLFormElement::removeWebScriptKey):
+        (DOMHTMLFormElement::stringRepresentation):
+        (DOMHTMLFormElement::webScriptValueAtIndex):
+        (DOMHTMLFormElement::setWebScriptValueAtIndex):
+        (DOMHTMLFormElement::setException):
+        (DOMHTMLFormElement::nodeName):
+        (DOMHTMLFormElement::nodeValue):
+        (DOMHTMLFormElement::setNodeValue):
+        (DOMHTMLFormElement::nodeType):
+        (DOMHTMLFormElement::parentNode):
+        (DOMHTMLFormElement::childNodes):
+        (DOMHTMLFormElement::firstChild):
+        (DOMHTMLFormElement::lastChild):
+        (DOMHTMLFormElement::previousSibling):
+        (DOMHTMLFormElement::nextSibling):
+        (DOMHTMLFormElement::attributes):
+        (DOMHTMLFormElement::ownerDocument):
+        (DOMHTMLFormElement::insertBefore):
+        (DOMHTMLFormElement::replaceChild):
+        (DOMHTMLFormElement::removeChild):
+        (DOMHTMLFormElement::appendChild):
+        (DOMHTMLFormElement::hasChildNodes):
+        (DOMHTMLFormElement::cloneNode):
+        (DOMHTMLFormElement::normalize):
+        (DOMHTMLFormElement::isSupported):
+        (DOMHTMLFormElement::namespaceURI):
+        (DOMHTMLFormElement::prefix):
+        (DOMHTMLFormElement::setPrefix):
+        (DOMHTMLFormElement::localName):
+        (DOMHTMLFormElement::hasAttributes):
+        (DOMHTMLFormElement::isSameNode):
+        (DOMHTMLFormElement::isEqualNode):
+        (DOMHTMLFormElement::textContent):
+        (DOMHTMLFormElement::setTextContent):
+        (DOMHTMLFormElement::tagName):
+        (DOMHTMLFormElement::getAttribute):
+        (DOMHTMLFormElement::setAttribute):
+        (DOMHTMLFormElement::removeAttribute):
+        (DOMHTMLFormElement::getAttributeNode):
+        (DOMHTMLFormElement::setAttributeNode):
+        (DOMHTMLFormElement::removeAttributeNode):
+        (DOMHTMLFormElement::getElementsByTagName):
+        (DOMHTMLFormElement::getAttributeNS):
+        (DOMHTMLFormElement::setAttributeNS):
+        (DOMHTMLFormElement::removeAttributeNS):
+        (DOMHTMLFormElement::getAttributeNodeNS):
+        (DOMHTMLFormElement::setAttributeNodeNS):
+        (DOMHTMLFormElement::getElementsByTagNameNS):
+        (DOMHTMLFormElement::hasAttribute):
+        (DOMHTMLFormElement::hasAttributeNS):
+        (DOMHTMLFormElement::focus):
+        (DOMHTMLFormElement::blur):
+        (DOMHTMLFormElement::idName):
+        (DOMHTMLFormElement::setIdName):
+        (DOMHTMLFormElement::title):
+        (DOMHTMLFormElement::setTitle):
+        (DOMHTMLFormElement::lang):
+        (DOMHTMLFormElement::setLang):
+        (DOMHTMLFormElement::dir):
+        (DOMHTMLFormElement::setDir):
+        (DOMHTMLFormElement::className):
+        (DOMHTMLFormElement::setClassName):
+        (DOMHTMLFormElement::innerHTML):
+        (DOMHTMLFormElement::setInnerHTML):
+        (DOMHTMLFormElement::innerText):
+        (DOMHTMLFormElement::setInnerText):
+        (DOMHTMLSelectElement::DOMHTMLSelectElement):
+        (DOMHTMLSelectElement::AddRef):
+        (DOMHTMLSelectElement::Release):
+        (DOMHTMLSelectElement::throwException):
+        (DOMHTMLSelectElement::callWebScriptMethod):
+        (DOMHTMLSelectElement::evaluateWebScript):
+        (DOMHTMLSelectElement::removeWebScriptKey):
+        (DOMHTMLSelectElement::stringRepresentation):
+        (DOMHTMLSelectElement::webScriptValueAtIndex):
+        (DOMHTMLSelectElement::setWebScriptValueAtIndex):
+        (DOMHTMLSelectElement::setException):
+        (DOMHTMLSelectElement::nodeName):
+        (DOMHTMLSelectElement::nodeValue):
+        (DOMHTMLSelectElement::setNodeValue):
+        (DOMHTMLSelectElement::nodeType):
+        (DOMHTMLSelectElement::parentNode):
+        (DOMHTMLSelectElement::childNodes):
+        (DOMHTMLSelectElement::firstChild):
+        (DOMHTMLSelectElement::lastChild):
+        (DOMHTMLSelectElement::previousSibling):
+        (DOMHTMLSelectElement::nextSibling):
+        (DOMHTMLSelectElement::attributes):
+        (DOMHTMLSelectElement::ownerDocument):
+        (DOMHTMLSelectElement::insertBefore):
+        (DOMHTMLSelectElement::replaceChild):
+        (DOMHTMLSelectElement::removeChild):
+        (DOMHTMLSelectElement::appendChild):
+        (DOMHTMLSelectElement::hasChildNodes):
+        (DOMHTMLSelectElement::cloneNode):
+        (DOMHTMLSelectElement::normalize):
+        (DOMHTMLSelectElement::isSupported):
+        (DOMHTMLSelectElement::namespaceURI):
+        (DOMHTMLSelectElement::prefix):
+        (DOMHTMLSelectElement::setPrefix):
+        (DOMHTMLSelectElement::localName):
+        (DOMHTMLSelectElement::hasAttributes):
+        (DOMHTMLSelectElement::isSameNode):
+        (DOMHTMLSelectElement::isEqualNode):
+        (DOMHTMLSelectElement::textContent):
+        (DOMHTMLSelectElement::setTextContent):
+        (DOMHTMLSelectElement::tagName):
+        (DOMHTMLSelectElement::getAttribute):
+        (DOMHTMLSelectElement::setAttribute):
+        (DOMHTMLSelectElement::removeAttribute):
+        (DOMHTMLSelectElement::getAttributeNode):
+        (DOMHTMLSelectElement::setAttributeNode):
+        (DOMHTMLSelectElement::removeAttributeNode):
+        (DOMHTMLSelectElement::getElementsByTagName):
+        (DOMHTMLSelectElement::getAttributeNS):
+        (DOMHTMLSelectElement::setAttributeNS):
+        (DOMHTMLSelectElement::removeAttributeNS):
+        (DOMHTMLSelectElement::getAttributeNodeNS):
+        (DOMHTMLSelectElement::setAttributeNodeNS):
+        (DOMHTMLSelectElement::getElementsByTagNameNS):
+        (DOMHTMLSelectElement::hasAttribute):
+        (DOMHTMLSelectElement::hasAttributeNS):
+        (DOMHTMLSelectElement::focus):
+        (DOMHTMLSelectElement::blur):
+        (DOMHTMLSelectElement::idName):
+        (DOMHTMLSelectElement::setIdName):
+        (DOMHTMLSelectElement::title):
+        (DOMHTMLSelectElement::setTitle):
+        (DOMHTMLSelectElement::lang):
+        (DOMHTMLSelectElement::setLang):
+        (DOMHTMLSelectElement::dir):
+        (DOMHTMLSelectElement::setDir):
+        (DOMHTMLSelectElement::className):
+        (DOMHTMLSelectElement::setClassName):
+        (DOMHTMLSelectElement::innerHTML):
+        (DOMHTMLSelectElement::setInnerHTML):
+        (DOMHTMLSelectElement::innerText):
+        (DOMHTMLSelectElement::setInnerText):
+        (DOMHTMLOptionElement::DOMHTMLOptionElement):
+        (DOMHTMLOptionElement::AddRef):
+        (DOMHTMLOptionElement::Release):
+        (DOMHTMLOptionElement::throwException):
+        (DOMHTMLOptionElement::callWebScriptMethod):
+        (DOMHTMLOptionElement::evaluateWebScript):
+        (DOMHTMLOptionElement::removeWebScriptKey):
+        (DOMHTMLOptionElement::stringRepresentation):
+        (DOMHTMLOptionElement::webScriptValueAtIndex):
+        (DOMHTMLOptionElement::setWebScriptValueAtIndex):
+        (DOMHTMLOptionElement::setException):
+        (DOMHTMLOptionElement::nodeName):
+        (DOMHTMLOptionElement::nodeValue):
+        (DOMHTMLOptionElement::setNodeValue):
+        (DOMHTMLOptionElement::nodeType):
+        (DOMHTMLOptionElement::parentNode):
+        (DOMHTMLOptionElement::childNodes):
+        (DOMHTMLOptionElement::firstChild):
+        (DOMHTMLOptionElement::lastChild):
+        (DOMHTMLOptionElement::previousSibling):
+        (DOMHTMLOptionElement::nextSibling):
+        (DOMHTMLOptionElement::attributes):
+        (DOMHTMLOptionElement::ownerDocument):
+        (DOMHTMLOptionElement::insertBefore):
+        (DOMHTMLOptionElement::replaceChild):
+        (DOMHTMLOptionElement::removeChild):
+        (DOMHTMLOptionElement::appendChild):
+        (DOMHTMLOptionElement::hasChildNodes):
+        (DOMHTMLOptionElement::cloneNode):
+        (DOMHTMLOptionElement::normalize):
+        (DOMHTMLOptionElement::isSupported):
+        (DOMHTMLOptionElement::namespaceURI):
+        (DOMHTMLOptionElement::prefix):
+        (DOMHTMLOptionElement::setPrefix):
+        (DOMHTMLOptionElement::localName):
+        (DOMHTMLOptionElement::hasAttributes):
+        (DOMHTMLOptionElement::isSameNode):
+        (DOMHTMLOptionElement::isEqualNode):
+        (DOMHTMLOptionElement::textContent):
+        (DOMHTMLOptionElement::setTextContent):
+        (DOMHTMLOptionElement::tagName):
+        (DOMHTMLOptionElement::getAttribute):
+        (DOMHTMLOptionElement::setAttribute):
+        (DOMHTMLOptionElement::removeAttribute):
+        (DOMHTMLOptionElement::getAttributeNode):
+        (DOMHTMLOptionElement::setAttributeNode):
+        (DOMHTMLOptionElement::removeAttributeNode):
+        (DOMHTMLOptionElement::getElementsByTagName):
+        (DOMHTMLOptionElement::getAttributeNS):
+        (DOMHTMLOptionElement::setAttributeNS):
+        (DOMHTMLOptionElement::removeAttributeNS):
+        (DOMHTMLOptionElement::getAttributeNodeNS):
+        (DOMHTMLOptionElement::setAttributeNodeNS):
+        (DOMHTMLOptionElement::getElementsByTagNameNS):
+        (DOMHTMLOptionElement::hasAttribute):
+        (DOMHTMLOptionElement::hasAttributeNS):
+        (DOMHTMLOptionElement::focus):
+        (DOMHTMLOptionElement::blur):
+        (DOMHTMLOptionElement::idName):
+        (DOMHTMLOptionElement::setIdName):
+        (DOMHTMLOptionElement::title):
+        (DOMHTMLOptionElement::setTitle):
+        (DOMHTMLOptionElement::lang):
+        (DOMHTMLOptionElement::setLang):
+        (DOMHTMLOptionElement::dir):
+        (DOMHTMLOptionElement::setDir):
+        (DOMHTMLOptionElement::className):
+        (DOMHTMLOptionElement::setClassName):
+        (DOMHTMLOptionElement::innerHTML):
+        (DOMHTMLOptionElement::setInnerHTML):
+        (DOMHTMLOptionElement::innerText):
+        (DOMHTMLOptionElement::setInnerText):
+        (DOMHTMLInputElement::DOMHTMLInputElement):
+        (DOMHTMLInputElement::AddRef):
+        (DOMHTMLInputElement::Release):
+        (DOMHTMLInputElement::throwException):
+        (DOMHTMLInputElement::callWebScriptMethod):
+        (DOMHTMLInputElement::evaluateWebScript):
+        (DOMHTMLInputElement::removeWebScriptKey):
+        (DOMHTMLInputElement::stringRepresentation):
+        (DOMHTMLInputElement::webScriptValueAtIndex):
+        (DOMHTMLInputElement::setWebScriptValueAtIndex):
+        (DOMHTMLInputElement::setException):
+        (DOMHTMLInputElement::nodeName):
+        (DOMHTMLInputElement::nodeValue):
+        (DOMHTMLInputElement::setNodeValue):
+        (DOMHTMLInputElement::nodeType):
+        (DOMHTMLInputElement::parentNode):
+        (DOMHTMLInputElement::childNodes):
+        (DOMHTMLInputElement::firstChild):
+        (DOMHTMLInputElement::lastChild):
+        (DOMHTMLInputElement::previousSibling):
+        (DOMHTMLInputElement::nextSibling):
+        (DOMHTMLInputElement::attributes):
+        (DOMHTMLInputElement::ownerDocument):
+        (DOMHTMLInputElement::insertBefore):
+        (DOMHTMLInputElement::replaceChild):
+        (DOMHTMLInputElement::removeChild):
+        (DOMHTMLInputElement::appendChild):
+        (DOMHTMLInputElement::hasChildNodes):
+        (DOMHTMLInputElement::cloneNode):
+        (DOMHTMLInputElement::normalize):
+        (DOMHTMLInputElement::isSupported):
+        (DOMHTMLInputElement::namespaceURI):
+        (DOMHTMLInputElement::prefix):
+        (DOMHTMLInputElement::setPrefix):
+        (DOMHTMLInputElement::localName):
+        (DOMHTMLInputElement::hasAttributes):
+        (DOMHTMLInputElement::isSameNode):
+        (DOMHTMLInputElement::isEqualNode):
+        (DOMHTMLInputElement::textContent):
+        (DOMHTMLInputElement::setTextContent):
+        (DOMHTMLInputElement::tagName):
+        (DOMHTMLInputElement::getAttribute):
+        (DOMHTMLInputElement::setAttribute):
+        (DOMHTMLInputElement::removeAttribute):
+        (DOMHTMLInputElement::getAttributeNode):
+        (DOMHTMLInputElement::setAttributeNode):
+        (DOMHTMLInputElement::removeAttributeNode):
+        (DOMHTMLInputElement::getElementsByTagName):
+        (DOMHTMLInputElement::getAttributeNS):
+        (DOMHTMLInputElement::setAttributeNS):
+        (DOMHTMLInputElement::removeAttributeNS):
+        (DOMHTMLInputElement::getAttributeNodeNS):
+        (DOMHTMLInputElement::setAttributeNodeNS):
+        (DOMHTMLInputElement::getElementsByTagNameNS):
+        (DOMHTMLInputElement::hasAttribute):
+        (DOMHTMLInputElement::hasAttributeNS):
+        (DOMHTMLInputElement::focus):
+        (DOMHTMLInputElement::blur):
+        (DOMHTMLInputElement::idName):
+        (DOMHTMLInputElement::setIdName):
+        (DOMHTMLInputElement::title):
+        (DOMHTMLInputElement::setTitle):
+        (DOMHTMLInputElement::lang):
+        (DOMHTMLInputElement::setLang):
+        (DOMHTMLInputElement::dir):
+        (DOMHTMLInputElement::setDir):
+        (DOMHTMLInputElement::className):
+        (DOMHTMLInputElement::setClassName):
+        (DOMHTMLInputElement::innerHTML):
+        (DOMHTMLInputElement::setInnerHTML):
+        (DOMHTMLInputElement::innerText):
+        (DOMHTMLInputElement::setInnerText):
+        (DOMHTMLTextAreaElement::DOMHTMLTextAreaElement):
+        (DOMHTMLTextAreaElement::AddRef):
+        (DOMHTMLTextAreaElement::Release):
+        (DOMHTMLTextAreaElement::throwException):
+        (DOMHTMLTextAreaElement::callWebScriptMethod):
+        (DOMHTMLTextAreaElement::evaluateWebScript):
+        (DOMHTMLTextAreaElement::removeWebScriptKey):
+        (DOMHTMLTextAreaElement::stringRepresentation):
+        (DOMHTMLTextAreaElement::webScriptValueAtIndex):
+        (DOMHTMLTextAreaElement::setWebScriptValueAtIndex):
+        (DOMHTMLTextAreaElement::setException):
+        (DOMHTMLTextAreaElement::nodeName):
+        (DOMHTMLTextAreaElement::nodeValue):
+        (DOMHTMLTextAreaElement::setNodeValue):
+        (DOMHTMLTextAreaElement::nodeType):
+        (DOMHTMLTextAreaElement::parentNode):
+        (DOMHTMLTextAreaElement::childNodes):
+        (DOMHTMLTextAreaElement::firstChild):
+        (DOMHTMLTextAreaElement::lastChild):
+        (DOMHTMLTextAreaElement::previousSibling):
+        (DOMHTMLTextAreaElement::nextSibling):
+        (DOMHTMLTextAreaElement::attributes):
+        (DOMHTMLTextAreaElement::ownerDocument):
+        (DOMHTMLTextAreaElement::insertBefore):
+        (DOMHTMLTextAreaElement::replaceChild):
+        (DOMHTMLTextAreaElement::removeChild):
+        (DOMHTMLTextAreaElement::appendChild):
+        (DOMHTMLTextAreaElement::hasChildNodes):
+        (DOMHTMLTextAreaElement::cloneNode):
+        (DOMHTMLTextAreaElement::normalize):
+        (DOMHTMLTextAreaElement::isSupported):
+        (DOMHTMLTextAreaElement::namespaceURI):
+        (DOMHTMLTextAreaElement::prefix):
+        (DOMHTMLTextAreaElement::setPrefix):
+        (DOMHTMLTextAreaElement::localName):
+        (DOMHTMLTextAreaElement::hasAttributes):
+        (DOMHTMLTextAreaElement::isSameNode):
+        (DOMHTMLTextAreaElement::isEqualNode):
+        (DOMHTMLTextAreaElement::textContent):
+        (DOMHTMLTextAreaElement::setTextContent):
+        (DOMHTMLTextAreaElement::tagName):
+        (DOMHTMLTextAreaElement::getAttribute):
+        (DOMHTMLTextAreaElement::setAttribute):
+        (DOMHTMLTextAreaElement::removeAttribute):
+        (DOMHTMLTextAreaElement::getAttributeNode):
+        (DOMHTMLTextAreaElement::setAttributeNode):
+        (DOMHTMLTextAreaElement::removeAttributeNode):
+        (DOMHTMLTextAreaElement::getElementsByTagName):
+        (DOMHTMLTextAreaElement::getAttributeNS):
+        (DOMHTMLTextAreaElement::setAttributeNS):
+        (DOMHTMLTextAreaElement::removeAttributeNS):
+        (DOMHTMLTextAreaElement::getAttributeNodeNS):
+        (DOMHTMLTextAreaElement::setAttributeNodeNS):
+        (DOMHTMLTextAreaElement::getElementsByTagNameNS):
+        (DOMHTMLTextAreaElement::hasAttribute):
+        (DOMHTMLTextAreaElement::hasAttributeNS):
+        (DOMHTMLTextAreaElement::focus):
+        (DOMHTMLTextAreaElement::blur):
+        (DOMHTMLTextAreaElement::idName):
+        (DOMHTMLTextAreaElement::setIdName):
+        (DOMHTMLTextAreaElement::title):
+        (DOMHTMLTextAreaElement::setTitle):
+        (DOMHTMLTextAreaElement::lang):
+        (DOMHTMLTextAreaElement::setLang):
+        (DOMHTMLTextAreaElement::dir):
+        (DOMHTMLTextAreaElement::setDir):
+        (DOMHTMLTextAreaElement::className):
+        (DOMHTMLTextAreaElement::setClassName):
+        (DOMHTMLTextAreaElement::innerHTML):
+        (DOMHTMLTextAreaElement::setInnerHTML):
+        (DOMHTMLTextAreaElement::innerText):
+        (DOMHTMLTextAreaElement::setInnerText):
+        (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):
+        * DefaultDownloadDelegate.cpp:
+        (DefaultDownloadDelegate::DefaultDownloadDelegate):
+        (DefaultDownloadDelegate::QueryInterface):
+        (DefaultDownloadDelegate::AddRef):
+        (DefaultDownloadDelegate::Release):
+        (DefaultDownloadDelegate::decideDestinationWithSuggestedFilename):
+        (DefaultDownloadDelegate::didCancelAuthenticationChallenge):
+        (DefaultDownloadDelegate::didCreateDestination):
+        (DefaultDownloadDelegate::didReceiveAuthenticationChallenge):
+        (DefaultDownloadDelegate::didReceiveDataOfLength):
+        (DefaultDownloadDelegate::didReceiveResponse):
+        (DefaultDownloadDelegate::shouldDecodeSourceDataOfMIMEType):
+        (DefaultDownloadDelegate::willResumeWithResponse):
+        (DefaultDownloadDelegate::willSendRequest):
+        (DefaultDownloadDelegate::didBegin):
+        (DefaultDownloadDelegate::didFinish):
+        (DefaultDownloadDelegate::didFailWithError):
+        * DefaultDownloadDelegate.h:
+        * DefaultPolicyDelegate.cpp:
+        (DefaultPolicyDelegate::DefaultPolicyDelegate):
+        (DefaultPolicyDelegate::QueryInterface):
+        (DefaultPolicyDelegate::AddRef):
+        (DefaultPolicyDelegate::Release):
+        (DefaultPolicyDelegate::decidePolicyForNavigationAction):
+        (DefaultPolicyDelegate::decidePolicyForNewWindowAction):
+        (DefaultPolicyDelegate::decidePolicyForMIMEType):
+        (DefaultPolicyDelegate::unableToImplementPolicyWithError):
+        * DefaultPolicyDelegate.h:
+        * Interfaces/Accessible2/Accessible2.idl:
+        * Interfaces/Accessible2/Accessible2_2.idl:
+        * Interfaces/Accessible2/AccessibleApplication.idl:
+        * Interfaces/Accessible2/AccessibleEditableText.idl:
+        * Interfaces/Accessible2/AccessibleRelation.idl:
+        * Interfaces/Accessible2/AccessibleStates.idl:
+        * Interfaces/Accessible2/AccessibleText.idl:
+        * Interfaces/Accessible2/AccessibleText2.idl:
+        * Interfaces/IWebApplicationCache.idl:
+        * Interfaces/IWebView.idl:
+        * Interfaces/IWebViewPrivate.idl:
+        * Interfaces/WebKit.idl:
+        * MemoryStream.cpp:
+        (MemoryStream::QueryInterface):
+        (MemoryStream::AddRef):
+        * MemoryStream.h:
+        * WebActionPropertyBag.cpp:
+        (WebActionPropertyBag::WebActionPropertyBag):
+        (WebActionPropertyBag::QueryInterface):
+        (WebActionPropertyBag::AddRef):
+        (WebActionPropertyBag::Release):
+        (findMouseEvent):
+        (WebActionPropertyBag::Read):
+        (WebActionPropertyBag::Write):
+        * WebActionPropertyBag.h:
+        * WebApplicationCache.cpp:
+        (WebApplicationCache::QueryInterface):
+        (WebApplicationCache::AddRef):
+        * WebApplicationCache.h:
+        * WebArchive.cpp:
+        (WebArchive::createInstance):
+        (WebArchive::WebArchive):
+        (WebArchive::~WebArchive):
+        (WebArchive::QueryInterface):
+        (WebArchive::AddRef):
+        (WebArchive::Release):
+        (WebArchive::initWithMainResource):
+        (WebArchive::initWithData):
+        (WebArchive::initWithNode):
+        (WebArchive::mainResource):
+        (WebArchive::subResources):
+        (WebArchive::subframeArchives):
+        (WebArchive::data):
+        * WebArchive.h:
+        * WebBackForwardList.cpp:
+        (backForwardListWrappers):
+        (WebBackForwardList::WebBackForwardList):
+        (WebBackForwardList::createInstance):
+        (WebBackForwardList::QueryInterface):
+        (WebBackForwardList::AddRef):
+        (WebBackForwardList::Release):
+        (WebBackForwardList::addItem):
+        (WebBackForwardList::goBack):
+        (WebBackForwardList::goForward):
+        (WebBackForwardList::goToItem):
+        (WebBackForwardList::backItem):
+        (WebBackForwardList::currentItem):
+        (WebBackForwardList::forwardItem):
+        (WebBackForwardList::backListWithLimit):
+        (WebBackForwardList::forwardListWithLimit):
+        (WebBackForwardList::capacity):
+        (WebBackForwardList::setCapacity):
+        (WebBackForwardList::backListCount):
+        (WebBackForwardList::forwardListCount):
+        (WebBackForwardList::containsItem):
+        (WebBackForwardList::itemAtIndex):
+        (WebBackForwardList::removeItem):
+        * WebBackForwardList.h:
+        * WebCache.cpp:
+        (WebCache::WebCache):
+        (WebCache::QueryInterface):
+        (WebCache::AddRef):
+        (WebCache::Release):
+        (WebCache::statistics):
+        (WebCache::empty):
+        (WebCache::setDisabled):
+        (WebCache::disabled):
+        (WebCache::cacheFolder):
+        (WebCache::setCacheFolder):
+        * WebCache.h:
+        * WebCoreStatistics.cpp:
+        (WebCoreStatistics::WebCoreStatistics):
+        (WebCoreStatistics::QueryInterface):
+        (WebCoreStatistics::AddRef):
+        (WebCoreStatistics::Release):
+        (WebCoreStatistics::javaScriptObjectsCount):
+        (WebCoreStatistics::javaScriptGlobalObjectsCount):
+        (WebCoreStatistics::javaScriptProtectedObjectsCount):
+        (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
+        (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+        (WebCoreStatistics::javaScriptObjectTypeCounts):
+        (WebCoreStatistics::iconPageURLMappingCount):
+        (WebCoreStatistics::iconRetainedPageURLCount):
+        (WebCoreStatistics::iconRecordCount):
+        (WebCoreStatistics::iconsWithDataCount):
+        (WebCoreStatistics::cachedFontDataCount):
+        (WebCoreStatistics::cachedFontDataInactiveCount):
+        (WebCoreStatistics::purgeInactiveFontData):
+        (WebCoreStatistics::glyphPageCount):
+        (WebCoreStatistics::setJavaScriptGarbageCollectorTimerEnabled):
+        (WebCoreStatistics::shouldPrintExceptions):
+        (WebCoreStatistics::stopIgnoringWebCoreNodeLeaks):
+        (WebCoreStatistics::memoryStatistics):
+        (WebCoreStatistics::returnFreeMemoryToSystem):
+        (WebCoreStatistics::cachedPageCount):
+        (WebCoreStatistics::cachedFrameCount):
+        * WebCoreStatistics.h:
+        * WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
+        (NotificationCOMWrapper::create):
+        (NotificationCOMWrapper::QueryInterface):
+        * WebCoreSupport/WebEditorClient.cpp:
+        (WebEditorUndoTarget::QueryInterface):
+        (WebEditorUndoTarget::AddRef):
+        (WebEditorUndoCommand::execute):
+        (WebEditorUndoCommand::QueryInterface):
+        (WebEditorUndoCommand::AddRef):
+        * WebCoreSupport/WebInspectorDelegate.cpp:
+        (WebInspectorDelegate::WebInspectorDelegate):
+        (WebInspectorDelegate::createInstance):
+        (QueryInterface):
+        (WebInspectorDelegate::AddRef):
+        (WebInspectorDelegate::Release):
+        (WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo):
+        (WebInspectorDelegate::createWebViewWithRequest):
+        (WebInspectorDelegate::willPerformDragSourceAction):
+        (WebInspectorDelegate::createModalDialog):
+        (WebInspectorDelegate::desktopNotificationsDelegate):
+        (:m_refCount): Deleted.
+        * WebCoreSupport/WebInspectorDelegate.h:
+        (WebInspectorDelegate::webViewShow):
+        (WebInspectorDelegate::webViewClose):
+        (WebInspectorDelegate::webViewFocus):
+        (WebInspectorDelegate::webViewUnfocus):
+        (WebInspectorDelegate::webViewFirstResponder):
+        (WebInspectorDelegate::makeFirstResponder):
+        (WebInspectorDelegate::setStatusText):
+        (WebInspectorDelegate::webViewStatusText):
+        (WebInspectorDelegate::webViewAreToolbarsVisible):
+        (WebInspectorDelegate::setToolbarsVisible):
+        (WebInspectorDelegate::webViewIsStatusBarVisible):
+        (WebInspectorDelegate::setStatusBarVisible):
+        (WebInspectorDelegate::webViewIsResizable):
+        (WebInspectorDelegate::setResizable):
+        (WebInspectorDelegate::setFrame):
+        (WebInspectorDelegate::webViewFrame):
+        (WebInspectorDelegate::setContentRect):
+        (WebInspectorDelegate::webViewContentRect):
+        (WebInspectorDelegate::runJavaScriptAlertPanelWithMessage):
+        (WebInspectorDelegate::runJavaScriptConfirmPanelWithMessage):
+        (WebInspectorDelegate::runJavaScriptTextInputPanelWithPrompt):
+        (WebInspectorDelegate::runBeforeUnloadConfirmPanelWithMessage):
+        (WebInspectorDelegate::runOpenPanelForFileButtonWithResultListener):
+        (WebInspectorDelegate::mouseDidMoveOverElement):
+        (WebInspectorDelegate::contextMenuItemsForElement):
+        (WebInspectorDelegate::validateUserInterfaceItem):
+        (WebInspectorDelegate::shouldPerformAction):
+        (WebInspectorDelegate::willPerformDragDestinationAction):
+        (WebInspectorDelegate::dragSourceActionMaskForPoint):
+        (WebInspectorDelegate::contextMenuItemSelected):
+        (WebInspectorDelegate::hasCustomMenuImplementation):
+        (WebInspectorDelegate::trackCustomPopupMenu):
+        (WebInspectorDelegate::measureCustomMenuItem):
+        (WebInspectorDelegate::drawCustomMenuItem):
+        (WebInspectorDelegate::addCustomMenuDrawingData):
+        (WebInspectorDelegate::cleanUpCustomMenuDrawingData):
+        (WebInspectorDelegate::canTakeFocus):
+        (WebInspectorDelegate::takeFocus):
+        (WebInspectorDelegate::registerUndoWithTarget):
+        (WebInspectorDelegate::removeAllActionsWithTarget):
+        (WebInspectorDelegate::setActionTitle):
+        (WebInspectorDelegate::undo):
+        (WebInspectorDelegate::redo):
+        (WebInspectorDelegate::canUndo):
+        (WebInspectorDelegate::canRedo):
+        (WebInspectorDelegate::printFrame):
+        (WebInspectorDelegate::ftpDirectoryTemplatePath):
+        (WebInspectorDelegate::webViewHeaderHeight):
+        (WebInspectorDelegate::webViewFooterHeight):
+        (WebInspectorDelegate::drawHeaderInRect):
+        (WebInspectorDelegate::drawFooterInRect):
+        (WebInspectorDelegate::webViewPrintingMarginRect):
+        (WebInspectorDelegate::canRunModal):
+        (WebInspectorDelegate::runModal):
+        (WebInspectorDelegate::isMenuBarVisible):
+        (WebInspectorDelegate::setMenuBarVisible):
+        (WebInspectorDelegate::runDatabaseSizeLimitPrompt):
+        (WebInspectorDelegate::paintCustomScrollbar):
+        (WebInspectorDelegate::paintCustomScrollCorner):
+        (WebInspectorDelegate::QueryInterface): Deleted.
+        (WebInspectorDelegate::createWebViewWithRequest): Deleted.
+        (WebInspectorDelegate::willPerformDragSourceAction): Deleted.
+        (WebInspectorDelegate::createModalDialog): Deleted.
+        (WebInspectorDelegate::desktopNotificationsDelegate): Deleted.
+        * WebDataSource.cpp:
+        (WebDataSource::overrideEncoding):
+        (WebDataSource::setOverrideEncoding):
+        (WebDataSource::mainDocumentError):
+        (WebDataSource::setDeferMainResourceDataLoad):
+        (WebDataSource::QueryInterface):
+        (WebDataSource::AddRef):
+        (WebDataSource::Release):
+        (WebDataSource::initWithRequest):
+        (WebDataSource::data):
+        (WebDataSource::representation):
+        (WebDataSource::webFrame):
+        (WebDataSource::initialRequest):
+        (WebDataSource::request):
+        (WebDataSource::response):
+        (WebDataSource::textEncodingName):
+        (WebDataSource::isLoading):
+        (WebDataSource::pageTitle):
+        (WebDataSource::unreachableURL):
+        (WebDataSource::webArchive):
+        (WebDataSource::mainResource):
+        (WebDataSource::subresources):
+        (WebDataSource::subresourceForURL):
+        (WebDataSource::addSubresource):
+        * WebDataSource.h:
+        * WebDatabaseManager.cpp:
+        (DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag):
+        (DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag):
+        (DatabaseDetailsPropertyBag::createInstance):
+        (DatabaseDetailsPropertyBag::AddRef):
+        (DatabaseDetailsPropertyBag::Release):
+        (DatabaseDetailsPropertyBag::QueryInterface):
+        (DatabaseDetailsPropertyBag::Read):
+        (DatabaseDetailsPropertyBag::Write):
+        (WebDatabaseManager::createInstance):
+        (WebDatabaseManager::WebDatabaseManager):
+        (WebDatabaseManager::~WebDatabaseManager):
+        (WebDatabaseManager::QueryInterface):
+        (WebDatabaseManager::AddRef):
+        (WebDatabaseManager::Release):
+        (WebDatabaseManager::sharedWebDatabaseManager):
+        (WebDatabaseManager::origins):
+        (WebDatabaseManager::databasesWithOrigin):
+        (WebDatabaseManager::detailsForDatabase):
+        (WebDatabaseManager::deleteAllDatabases):
+        (WebDatabaseManager::deleteOrigin):
+        (WebDatabaseManager::deleteDatabase):
+        (WebDatabaseManager::dispatchDidModifyOrigin):
+        (WebDatabaseManager::setQuota):
+        * WebDatabaseManager.h:
+        * WebDownload.cpp:
+        (WebDownload::WebDownload):
+        (WebDownload::QueryInterface):
+        (WebDownload::AddRef):
+        (WebDownload::Release):
+        (WebDownload::canResumeDownloadDecodedWithEncodingMIMEType):
+        (WebDownload::bundlePathForTargetPath):
+        (WebDownload::request):
+        * WebDownload.h:
+        * WebDownloadCFNet.cpp:
+        (WebDownload::initWithRequest):
+        (WebDownload::initToResumeWithBundle):
+        (WebDownload::start):
+        (WebDownload::cancel):
+        (WebDownload::cancelForResume):
+        (WebDownload::deletesFileUponFailure):
+        (WebDownload::setDeletesFileUponFailure):
+        (WebDownload::setDestination):
+        (WebDownload::cancelAuthenticationChallenge):
+        (WebDownload::continueWithoutCredentialForAuthenticationChallenge):
+        (WebDownload::useCredential):
+        * WebDropSource.cpp:
+        (WebDropSource::createInstance):
+        (WebDropSource::WebDropSource):
+        (WebDropSource::~WebDropSource):
+        (WebDropSource::QueryInterface):
+        (WebDropSource::AddRef):
+        (WebDropSource::Release):
+        (generateMouseEvent):
+        (WebDropSource::QueryContinueDrag):
+        (WebDropSource::GiveFeedback):
+        * WebDropSource.h:
+        * WebElementPropertyBag.cpp:
+        (WebElementPropertyBag::WebElementPropertyBag):
+        (WebElementPropertyBag::QueryInterface):
+        (WebElementPropertyBag::AddRef):
+        (WebElementPropertyBag::Release):
+        (WebElementPropertyBag::Read):
+        (WebElementPropertyBag::Write):
+        * WebElementPropertyBag.h:
+        * WebError.cpp:
+        (WebError::WebError):
+        (WebError::QueryInterface):
+        (WebError::AddRef):
+        (WebError::Release):
+        (WebError::init):
+        (WebError::code):
+        (WebError::domain):
+        (WebError::localizedDescription):
+        (WebError::localizedFailureReason):
+        (WebError::localizedRecoveryOptions):
+        (WebError::localizedRecoverySuggestion):
+        (WebError::recoverAttempter):
+        (WebError::userInfo):
+        (WebError::failingURL):
+        (WebError::isPolicyChangeError):
+        (WebError::sslPeerCertificate):
+        * WebError.h:
+        * WebFrame.cpp:
+        (kit):
+        (core):
+        (elementFromDOMElement):
+        (WebFrame::WebFramePrivate::WebFramePrivate):
+        (WebFrame::WebFramePrivate::~WebFramePrivate):
+        (WebFrame::WebFramePrivate::frameView):
+        (WebFrame::WebFrame):
+        (WebFrame::createInstance):
+        (WebFrame::setAllowsScrolling):
+        (WebFrame::allowsScrolling):
+        (WebFrame::setIsDisconnected):
+        (WebFrame::setExcludeFromTextSearch):
+        (WebFrame::reloadFromOrigin):
+        (WebFrame::paintDocumentRectToContext):
+        (WebFrame::paintScrollViewRectToContextAtPoint):
+        (WebFrame::QueryInterface):
+        (WebFrame::AddRef):
+        (WebFrame::Release):
+        (WebFrame::name):
+        (WebFrame::webView):
+        (WebFrame::frameView):
+        (WebFrame::DOMDocument):
+        (WebFrame::DOMWindow):
+        (WebFrame::frameElement):
+        (WebFrame::currentForm):
+        (WebFrame::globalContext):
+        (WebFrame::globalContextForScriptWorld):
+        (WebFrame::loadRequest):
+        (WebFrame::loadData):
+        (WebFrame::loadPlainTextString):
+        (WebFrame::loadHTMLString):
+        (WebFrame::loadAlternateHTMLString):
+        (WebFrame::loadArchive):
+        (getWebDataSource):
+        (WebFrame::dataSource):
+        (WebFrame::provisionalDataSource):
+        (WebFrame::url):
+        (WebFrame::stopLoading):
+        (WebFrame::reload):
+        (WebFrame::findFrameNamed):
+        (WebFrame::parentFrame):
+        (EnumChildFrames::EnumChildFrames):
+        (EnumChildFrames::QueryInterface):
+        (EnumChildFrames::AddRef):
+        (EnumChildFrames::Clone):
+        (WebFrame::childFrames):
+        (WebFrame::renderTreeAsExternalRepresentation):
+        (WebFrame::pageNumberForElementById):
+        (WebFrame::numberOfPages):
+        (WebFrame::scrollOffset):
+        (WebFrame::layout):
+        (WebFrame::firstLayoutDone):
+        (WebFrame::pendingFrameUnloadEventCount):
+        (WebFrame::hasSpellingMarker):
+        (WebFrame::clearOpener):
+        (WebFrame::setTextDirection):
+        (WebFrame::supportsTextEncoding):
+        (WebFrame::selectedString):
+        (WebFrame::selectAll):
+        (WebFrame::deselectAll):
+        (WebFrame::formForElement):
+        (WebFrame::elementDoesAutoComplete):
+        (WebFrame::resumeAnimations):
+        (WebFrame::suspendAnimations):
+        (WebFrame::pauseAnimation):
+        (WebFrame::pauseTransition):
+        (WebFrame::visibleContentRect):
+        (WebFrame::numberOfActiveAnimations):
+        (WebFrame::isDisplayingStandaloneImage):
+        (WebFrame::allowsFollowingLink):
+        (WebFrame::searchForLabelsBeforeElement):
+        (WebFrame::matchLabelsAgainstElement):
+        (WebFrame::canProvideDocumentSource):
+        (WebFrame::layerTreeAsText):
+        (WebFrame::setPrinting):
+        (WebFrame::setInPrintingMode):
+        (WebFrame::computePageRects):
+        (WebFrame::getPrintedPageCount):
+        (WebFrame::spoolPages):
+        (WebFrame::isFrameSet):
+        (WebFrame::string):
+        (WebFrame::size):
+        (WebFrame::hasScrollBars):
+        (WebFrame::contentBounds):
+        (WebFrame::frameBounds):
+        (WebFrame::isDescendantOfFrame):
+        (WebFrame::updateBackground):
+        (WebFrame::isMainFrame):
+        * WebFrame.h:
+        * WebFramePolicyListener.cpp:
+        (WebFramePolicyListener::WebFramePolicyListener):
+        (WebFramePolicyListener::QueryInterface):
+        (WebFramePolicyListener::AddRef):
+        (WebFramePolicyListener::Release):
+        (WebFramePolicyListener::use):
+        (WebFramePolicyListener::download):
+        (WebFramePolicyListener::ignore):
+        (WebFramePolicyListener::continueSubmit):
+        * WebFramePolicyListener.h:
+        * WebGeolocationPolicyListener.cpp:
+        (WebGeolocationPolicyListener::QueryInterface):
+        (WebGeolocationPolicyListener::AddRef):
+        (WebGeolocationPolicyListener::Release):
+        (WebGeolocationPolicyListener::allow):
+        (WebGeolocationPolicyListener::deny):
+        * WebGeolocationPolicyListener.h:
+        * WebGeolocationPosition.cpp:
+        (WebGeolocationPosition::createInstance):
+        (WebGeolocationPosition::WebGeolocationPosition):
+        (WebGeolocationPosition::~WebGeolocationPosition):
+        (WebGeolocationPosition::QueryInterface):
+        * WebGeolocationPosition.h:
+        (WebGeolocationPosition::impl):
+        * WebHTMLRepresentation.cpp:
+        (WebHTMLRepresentation::WebHTMLRepresentation):
+        (WebHTMLRepresentation::~WebHTMLRepresentation):
+        (WebHTMLRepresentation::QueryInterface):
+        (WebHTMLRepresentation::AddRef):
+        (WebHTMLRepresentation::Release):
+        (WebHTMLRepresentation::supportedMIMETypes):
+        (WebHTMLRepresentation::supportedNonImageMIMETypes):
+        (WebHTMLRepresentation::supportedImageMIMETypes):
+        (WebHTMLRepresentation::attributedStringFromDOMNodes):
+        (WebHTMLRepresentation::elementWithName):
+        (WebHTMLRepresentation::elementDoesAutoComplete):
+        (WebHTMLRepresentation::elementIsPassword):
+        (WebHTMLRepresentation::formForElement):
+        (WebHTMLRepresentation::currentForm):
+        (WebHTMLRepresentation::controlsInForm):
+        (WebHTMLRepresentation::deprecatedSearchForLabels):
+        (WebHTMLRepresentation::matchLabels):
+        (WebHTMLRepresentation::searchForLabels):
+        (WebHTMLRepresentation::setDataSource):
+        (WebHTMLRepresentation::receivedData):
+        (WebHTMLRepresentation::receivedError):
+        (WebHTMLRepresentation::finishedLoadingWithDataSource):
+        (WebHTMLRepresentation::canProvideDocumentSource):
+        (WebHTMLRepresentation::documentSource):
+        (WebHTMLRepresentation::title):
+        * WebHTMLRepresentation.h:
+        * WebHistory.cpp:
+        (WebHistory::WebHistory):
+        (WebHistory::QueryInterface):
+        (WebHistory::AddRef):
+        (WebHistory::Release):
+        (WebHistory::sharedHistory):
+        (WebHistory::optionalSharedHistory):
+        (WebHistory::setOptionalSharedHistory):
+        (WebHistory::unused1):
+        (WebHistory::unused2):
+        (WebHistory::addItems):
+        (WebHistory::removeItems):
+        (WebHistory::removeAllItems):
+        (WebHistory::orderedLastVisitedDays):
+        (WebHistory::orderedItemsLastVisitedOnDay):
+        (WebHistory::allItems):
+        (WebHistory::removeAllVisitedLinks):
+        (WebHistory::setHistoryItemLimit):
+        (WebHistory::historyItemLimit):
+        (WebHistory::setHistoryAgeInDaysLimit):
+        (WebHistory::historyAgeInDaysLimit):
+        (WebHistory::visitedURL):
+        (WebHistory::itemForURL):
+        * WebHistory.h:
+        * WebHistoryItem.cpp:
+        (historyItemWrappers):
+        (WebHistoryItem::WebHistoryItem):
+        (WebHistoryItem::initFromDictionaryRepresentation):
+        (WebHistoryItem::dictionaryRepresentation):
+        (WebHistoryItem::hasURLString):
+        (WebHistoryItem::visitCount):
+        (WebHistoryItem::setVisitCount):
+        (WebHistoryItem::mergeAutoCompleteHints):
+        (WebHistoryItem::setLastVisitedTimeInterval):
+        (WebHistoryItem::setTitle):
+        (WebHistoryItem::RSSFeedReferrer):
+        (WebHistoryItem::setRSSFeedReferrer):
+        (WebHistoryItem::hasPageCache):
+        (WebHistoryItem::setHasPageCache):
+        (WebHistoryItem::target):
+        (WebHistoryItem::isTargetItem):
+        (WebHistoryItem::children):
+        (WebHistoryItem::lastVisitWasFailure):
+        (WebHistoryItem::setLastVisitWasFailure):
+        (WebHistoryItem::lastVisitWasHTTPNonGet):
+        (WebHistoryItem::setLastVisitWasHTTPNonGet):
+        (WebHistoryItem::redirectURLs):
+        (WebHistoryItem::visitedWithTitle):
+        (WebHistoryItem::getDailyVisitCounts):
+        (WebHistoryItem::getWeeklyVisitCounts):
+        (WebHistoryItem::recordInitialVisit):
+        (WebHistoryItem::QueryInterface):
+        (WebHistoryItem::AddRef):
+        (WebHistoryItem::Release):
+        (WebHistoryItem::initWithURLString):
+        (WebHistoryItem::originalURLString):
+        (WebHistoryItem::URLString):
+        (WebHistoryItem::title):
+        (WebHistoryItem::lastVisitedTimeInterval):
+        (WebHistoryItem::setAlternateTitle):
+        (WebHistoryItem::alternateTitle):
+        (WebHistoryItem::icon):
+        * WebHistoryItem.h:
+        * WebIconDatabase.cpp:
+        (WebIconDatabase::WebIconDatabase):
+        (WebIconDatabase::QueryInterface):
+        (WebIconDatabase::AddRef):
+        (WebIconDatabase::Release):
+        (WebIconDatabase::sharedIconDatabase):
+        (WebIconDatabase::iconForURL):
+        (WebIconDatabase::defaultIconWithSize):
+        (WebIconDatabase::retainIconForURL):
+        (WebIconDatabase::releaseIconForURL):
+        (WebIconDatabase::removeAllIcons):
+        (WebIconDatabase::delayDatabaseCleanup):
+        (WebIconDatabase::allowDatabaseCleanup):
+        (WebIconDatabase::iconURLForURL):
+        (WebIconDatabase::isEnabled):
+        (WebIconDatabase::setEnabled):
+        (WebIconDatabase::hasIconForURL):
+        * WebIconDatabase.h:
+        * WebInspector.cpp:
+        (WebInspector::createInstance):
+        (WebInspector::WebInspector):
+        (WebInspector::frontendClient):
+        (WebInspector::webViewClosed):
+        (WebInspector::QueryInterface):
+        (WebInspector::AddRef):
+        (WebInspector::Release):
+        (WebInspector::show):
+        (WebInspector::showConsole):
+        (WebInspector::unused1):
+        (WebInspector::close):
+        (WebInspector::attach):
+        (WebInspector::detach):
+        (WebInspector::isDebuggingJavaScript):
+        (WebInspector::toggleDebuggingJavaScript):
+        (WebInspector::isProfilingJavaScript):
+        (WebInspector::toggleProfilingJavaScript):
+        (WebInspector::isJavaScriptProfilingEnabled):
+        (WebInspector::setJavaScriptProfilingEnabled):
+        (WebInspector::evaluateInFrontend):
+        (WebInspector::isTimelineProfilingEnabled):
+        (WebInspector::setTimelineProfilingEnabled):
+        * WebInspector.h:
+        * WebJavaScriptCollector.cpp:
+        (WebJavaScriptCollector::WebJavaScriptCollector):
+        (WebJavaScriptCollector::QueryInterface):
+        (WebJavaScriptCollector::AddRef):
+        (WebJavaScriptCollector::collect):
+        (WebJavaScriptCollector::collectOnAlternateThread):
+        (WebJavaScriptCollector::objectCount):
+        * WebJavaScriptCollector.h:
+        * WebKitCOMAPI.cpp:
+        (classFactory):
+        (WebKitCreateInstance):
+        * WebKitCOMAPI.h:
+        * WebKitClassFactory.cpp:
+        (WebKitClassFactory::WebKitClassFactory):
+        (WebKitClassFactory::~WebKitClassFactory):
+        (WebKitClassFactory::QueryInterface):
+        (WebKitClassFactory::AddRef):
+        (leakRefFromCreateInstance):
+        (WebKitClassFactory::CreateInstance):
+        * WebKitClassFactory.h:
+        * WebKitDLL.cpp:
+        * WebKitMessageLoop.cpp:
+        * WebKitMessageLoop.h:
+        * WebKitStatistics.cpp:
+        * WebKitStatistics.h:
+        * WebMutableURLRequest.cpp:
+        * WebMutableURLRequest.h:
+        * WebNavigationData.cpp:
+        * WebNavigationData.h:
+        * WebNotification.cpp:
+        * WebNotification.h:
+        * WebNotificationCenter.cpp:
+        * WebNotificationCenter.h:
+        * WebPreferences.cpp:
+        * WebPreferences.h:
+        * WebResource.cpp:
+        * WebResource.h:
+        * WebScriptObject.cpp:
+        * WebScriptObject.h:
+        * WebScriptWorld.cpp:
+        * WebScriptWorld.h:
+        * WebSecurityOrigin.cpp:
+        * WebSecurityOrigin.h:
+        * WebSerializedJSValue.cpp:
+        * WebSerializedJSValue.h:
+        * WebTextRenderer.cpp:
+        * WebTextRenderer.h:
+        * WebURLAuthenticationChallenge.cpp:
+        * WebURLAuthenticationChallenge.h:
+        * WebURLAuthenticationChallengeSender.cpp:
+        * WebURLAuthenticationChallengeSender.h:
+        * WebURLAuthenticationChallengeSenderCFNet.cpp:
+        * WebURLCredential.cpp:
+        * WebURLCredential.h:
+        * WebURLProtectionSpace.cpp:
+        * WebURLProtectionSpace.h:
+        * WebURLResponse.cpp:
+        * WebURLResponse.h:
+        * WebUserContentURLPattern.cpp:
+        * WebUserContentURLPattern.h:
+        * WebView.cpp:
+        * WebView.h:
+        * WebWorkersPrivate.cpp:
+        * WebWorkersPrivate.h:
+
 2015-08-17  Filip Pizlo  <fpizlo@apple.com>
 
         Replace all remaining uses of WTF::Mutex with WTF::Lock
index e0893cd..d8a5039 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -32,7 +32,6 @@
 // DOMCSSStyleDeclaration - DOMCSSStyleDeclaration ----------------------------
 
 DOMCSSStyleDeclaration::DOMCSSStyleDeclaration(WebCore::CSSStyleDeclaration* s)
-: m_style(0)
 {
     if (s)
         s->ref();
@@ -49,7 +48,7 @@ DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration()
 IDOMCSSStyleDeclaration* DOMCSSStyleDeclaration::createInstance(WebCore::CSSStyleDeclaration* s)
 {
     if (!s)
-        return 0;
+        return nullptr;
 
     HRESULT hr;
     IDOMCSSStyleDeclaration* domStyle = 0;
@@ -58,16 +57,18 @@ IDOMCSSStyleDeclaration* DOMCSSStyleDeclaration::createInstance(WebCore::CSSStyl
     hr = newStyle->QueryInterface(IID_IDOMCSSStyleDeclaration, (void**)&domStyle);
 
     if (FAILED(hr))
-        return 0;
+        return nullptr;
 
     return domStyle;
 }
 
 // DOMCSSStyleDeclaration - IUnknown ------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMCSSStyleDeclaration::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMCSSStyleDeclaration))
         *ppvObject = static_cast<IDOMCSSStyleDeclaration*>(this);
     else
@@ -79,15 +80,16 @@ HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::QueryInterface(REFIID riid, vo
 
 // DOMCSSStyleDeclaration - IDOMCSSStyleDeclaration ---------------------------
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::cssText( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMCSSStyleDeclaration::cssText(__deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setCssText( 
-    /* [in] */ BSTR cssText)
+HRESULT DOMCSSStyleDeclaration::setCssText(_In_ BSTR cssText)
 {
     WTF::String cssTextString(cssText);
     // FIXME: <rdar://5148045> return DOM exception info
@@ -96,10 +98,12 @@ HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setCssText(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyValue( 
-    /* [in] */ BSTR propertyName,
-    /* [retval][out] */ BSTR* result)
+HRESULT DOMCSSStyleDeclaration::getPropertyValue(_In_ BSTR propertyName, __deref_opt_out BSTR* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
+
     WTF::String propertyNameString(propertyName);
     WTF::String value = m_style->getPropertyValue(propertyNameString);
     *result = WebCore::BString(value).release();
@@ -108,34 +112,34 @@ HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyValue(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyCSSValue( 
-    /* [in] */ BSTR /*propertyName*/,
-    /* [retval][out] */ IDOMCSSValue** /*result*/)
+HRESULT DOMCSSStyleDeclaration::getPropertyCSSValue(_In_ BSTR /*propertyName*/, _COM_Outptr_opt_ IDOMCSSValue** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::removeProperty( 
-    /* [in] */ BSTR /*propertyName*/,
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMCSSStyleDeclaration::removeProperty(_In_ BSTR /*propertyName*/, __deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyPriority( 
-    /* [in] */ BSTR /*propertyName*/,
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMCSSStyleDeclaration::getPropertyPriority(_In_ BSTR /*propertyName*/, __deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setProperty( 
-    /* [in] */ BSTR propertyName,
-    /* [in] */ BSTR value,
-    /* [in] */ BSTR priority)
+HRESULT DOMCSSStyleDeclaration::setProperty(_In_ BSTR propertyName, _In_ BSTR value, _In_ BSTR priority)
 {
     WTF::String propertyNameString(propertyName);
     WTF::String valueString(value);
@@ -146,24 +150,29 @@ HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setProperty(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::length( 
-    /* [retval][out] */ UINT* /*result*/)
+HRESULT DOMCSSStyleDeclaration::length(_Out_ UINT* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::item( 
-    /* [in] */ UINT /*index*/,
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMCSSStyleDeclaration::item(UINT /*index*/, __deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::parentRule( 
-    /* [retval][out] */ IDOMCSSRule** /*result*/)
+HRESULT DOMCSSStyleDeclaration::parentRule(_COM_Outptr_opt_ IDOMCSSRule** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
index 6b72e5f..67bc146 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -42,83 +42,66 @@ public:
 
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-    
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-    
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-    
-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMObject::callWebScriptMethod(name, args, cArgs, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
 
     // IDOMCSSStyleDeclaration
-    virtual HRESULT STDMETHODCALLTYPE cssText( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCssText( 
-        /* [in] */ BSTR cssText);
-    
-    virtual HRESULT STDMETHODCALLTYPE getPropertyValue( 
-        /* [in] */ BSTR propertyName,
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getPropertyCSSValue( 
-        /* [in] */ BSTR propertyName,
-        /* [retval][out] */ IDOMCSSValue **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeProperty( 
-        /* [in] */ BSTR propertyName,
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getPropertyPriority( 
-        /* [in] */ BSTR propertyName,
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setProperty( 
-        /* [in] */ BSTR propertyName,
-        /* [in] */ BSTR value,
-        /* [in] */ BSTR priority);
-    
-    virtual HRESULT STDMETHODCALLTYPE length( 
-        /* [retval][out] */ UINT *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE item( 
-        /* [in] */ UINT index,
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE parentRule( 
-        /* [retval][out] */ IDOMCSSRule **result);
+    virtual HRESULT STDMETHODCALLTYPE cssText(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setCssText(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE getPropertyValue(_In_ BSTR propertyName, __deref_opt_out BSTR *result);
+    virtual HRESULT STDMETHODCALLTYPE getPropertyCSSValue(_In_ BSTR propertyName, _COM_Outptr_opt_ IDOMCSSValue **result);
+    virtual HRESULT STDMETHODCALLTYPE removeProperty(_In_ BSTR propertyName, __deref_opt_out BSTR *result);
+    virtual HRESULT STDMETHODCALLTYPE getPropertyPriority(_In_ BSTR propertyName, __deref_opt_out BSTR *result);
+    virtual HRESULT STDMETHODCALLTYPE setProperty(_In_ BSTR propertyName, _In_ BSTR value, _In_ BSTR priority);
+    virtual HRESULT STDMETHODCALLTYPE length(_Out_ UINT* result);
+    virtual HRESULT STDMETHODCALLTYPE item(UINT index, __deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE parentRule(_COM_Outptr_opt_ IDOMCSSRule* *result);
 
 protected:
-    ULONG m_refCount;
-    WebCore::CSSStyleDeclaration* m_style;
+    ULONG m_refCount { 0 };
+    WebCore::CSSStyleDeclaration* m_style { nullptr };
 };
 
 #endif
index 56e0714..4d19f2c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 20062007, 2009, 2014-2015 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2007, 2009, 2014-2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -71,9 +71,11 @@ using WTF::String;
 
 // DOMObject - IUnknown -------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMObject::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMObject::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMObject))
         *ppvObject = static_cast<IDOMObject*>(this);
     else
@@ -85,9 +87,11 @@ HRESULT STDMETHODCALLTYPE DOMObject::QueryInterface(REFIID riid, void** ppvObjec
 
 // DOMNode - IUnknown ---------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMNode::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMNode::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMNode))
         *ppvObject = static_cast<IDOMNode*>(this);
     else if (IsEqualGUID(riid, __uuidof(DOMNode)))
@@ -103,12 +107,11 @@ HRESULT STDMETHODCALLTYPE DOMNode::QueryInterface(REFIID riid, void** ppvObject)
 
 // DOMNode --------------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMNode::nodeName( 
-    /* [retval][out] */ BSTR* result)
+HRESULT DOMNode::nodeName(__deref_opt_out BSTR* result)
 {
     if (!result)
         return E_POINTER;
-
+    *result = nullptr;
     if (!m_node)
         return E_FAIL;
 
@@ -116,9 +119,11 @@ HRESULT STDMETHODCALLTYPE DOMNode::nodeName(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::nodeValue( 
-    /* [retval][out] */ BSTR* result)
+HRESULT DOMNode::nodeValue(__deref_opt_out BSTR* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_node)
         return E_FAIL;
     WTF::String nodeValueStr = m_node->nodeValue();
@@ -128,33 +133,34 @@ HRESULT STDMETHODCALLTYPE DOMNode::nodeValue(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::setNodeValue( 
-    /* [in] */ BSTR /*value*/)
+HRESULT DOMNode::setNodeValue(_In_ BSTR /*value*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::nodeType( 
-    /* [retval][out] */ unsigned short* /*result*/)
+HRESULT DOMNode::nodeType(_Out_ unsigned short* /*result*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::parentNode( 
-    /* [retval][out] */ IDOMNode** result)
+HRESULT DOMNode::parentNode(_COM_Outptr_opt_ IDOMNode** result)
 {
-    *result = 0;
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_node || !m_node->parentNode())
         return E_FAIL;
     *result = DOMNode::createInstance(m_node->parentNode());
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::childNodes( 
-    /* [retval][out] */ IDOMNodeList** result)
+HRESULT DOMNode::childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_node)
         return E_FAIL;
 
@@ -165,67 +171,70 @@ HRESULT STDMETHODCALLTYPE DOMNode::childNodes(
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::firstChild( 
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMNode::firstChild(_COM_Outptr_opt_ IDOMNode** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::lastChild( 
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMNode::lastChild(_COM_Outptr_opt_ IDOMNode** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::previousSibling( 
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMNode::previousSibling(_COM_Outptr_opt_ IDOMNode** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::nextSibling( 
-    /* [retval][out] */ IDOMNode** result)
+HRESULT DOMNode::nextSibling(_COM_Outptr_opt_ IDOMNode** result)
 {
     if (!result)
         return E_POINTER;
-    *result = 0;
+    *result = nullptr;
     if (!m_node)
         return E_FAIL;
     *result = DOMNode::createInstance(m_node->nextSibling());
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::attributes( 
-    /* [retval][out] */ IDOMNamedNodeMap** /*result*/)
+HRESULT DOMNode::attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::ownerDocument( 
-    /* [retval][out] */ IDOMDocument** result)
+HRESULT DOMNode::ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
 {
     if (!result)
         return E_POINTER;
-    *result = 0;
+    *result = nullptr;
     if (!m_node)
         return E_FAIL;
     *result = DOMDocument::createInstance(m_node->ownerDocument());
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::insertBefore( 
-    /* [in] */ IDOMNode* newChild,
-    /* [in] */ IDOMNode* refChild,
-    /* [retval][out] */ IDOMNode** result)
+HRESULT DOMNode::insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
 {
     if (!result)
         return E_POINTER;
 
-    *result = 0;
+    *result = nullptr;
 
     if (!m_node)
         return E_FAIL;
@@ -245,23 +254,21 @@ HRESULT STDMETHODCALLTYPE DOMNode::insertBefore(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::replaceChild( 
-    /* [in] */ IDOMNode* /*newChild*/,
-    /* [in] */ IDOMNode* /*oldChild*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMNode::replaceChild(_In_opt_ IDOMNode* /*newChild*/, _In_opt_ IDOMNode* /*oldChild*/, _COM_Outptr_opt_ IDOMNode** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::removeChild( 
-    /* [in] */ IDOMNode* oldChild,
-    /* [retval][out] */ IDOMNode** result)
+HRESULT DOMNode::removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
 {
     if (!result)
         return E_POINTER;
 
-    *result = 0;
+    *result = nullptr;
 
     if (!m_node)
         return E_FAIL;
@@ -279,82 +286,82 @@ HRESULT STDMETHODCALLTYPE DOMNode::removeChild(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::appendChild( 
-    /* [in] */ IDOMNode* /*oldChild*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMNode::appendChild(_In_opt_ IDOMNode* /*oldChild*/, _COM_Outptr_opt_ IDOMNode** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::hasChildNodes( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMNode::hasChildNodes(_Out_ BOOL* /*result*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::cloneNode( 
-    /* [in] */ BOOL /*deep*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMNode::cloneNode(BOOL /*deep*/, _COM_Outptr_opt_ IDOMNode** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::normalize( void)
+HRESULT DOMNode::normalize()
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::isSupported( 
-    /* [in] */ BSTR /*feature*/,
-    /* [in] */ BSTR /*version*/,
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMNode::isSupported(_In_ BSTR /*feature*/, _In_ BSTR /*version*/, _Out_ BOOL* /*result*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::namespaceURI( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMNode::namespaceURI(__deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::prefix( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMNode::prefix(__deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::setPrefix( 
-    /* [in] */ BSTR /*prefix*/)
+HRESULT DOMNode::setPrefix(_In_ BSTR /*prefix*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::localName( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMNode::localName(__deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::hasAttributes( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMNode::hasAttributes(_Out_ BOOL* /*result*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::isSameNode( 
-    /* [in] */ IDOMNode* other,
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMNode::isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
 {
     if (!result) {
         ASSERT_NOT_REACHED();
@@ -375,16 +382,13 @@ HRESULT STDMETHODCALLTYPE DOMNode::isSameNode(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::isEqualNode( 
-    /* [in] */ IDOMNode* /*other*/,
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMNode::isEqualNode(_In_opt_ IDOMNode* /*other*/, _Out_ BOOL* /*result*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::textContent( 
-    /* [retval][out] */ BSTR* result)
+HRESULT DOMNode::textContent(__deref_opt_out BSTR* result)
 {
     if (!result)
         return E_POINTER;
@@ -394,8 +398,7 @@ HRESULT STDMETHODCALLTYPE DOMNode::textContent(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNode::setTextContent( 
-    /* [in] */ BSTR /*text*/)
+HRESULT DOMNode::setTextContent(_In_ BSTR /*text*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
@@ -403,10 +406,7 @@ HRESULT STDMETHODCALLTYPE DOMNode::setTextContent(
 
 // DOMNode - IDOMEventTarget --------------------------------------------------
 
-HRESULT DOMNode::addEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
+HRESULT DOMNode::addEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
 {
     RefPtr<WebEventListener> webListener = WebEventListener::create(listener);
     m_node->addEventListener(type, webListener, useCapture);
@@ -414,10 +414,7 @@ HRESULT DOMNode::addEventListener(
     return S_OK;
 }
 
-HRESULT DOMNode::removeEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
+HRESULT DOMNode::removeEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
 {
     if (!listener || !type)
         return E_POINTER;
@@ -428,9 +425,7 @@ HRESULT DOMNode::removeEventListener(
     return S_OK;
 }
 
-HRESULT DOMNode::dispatchEvent(
-    /* [in] */ IDOMEvent* evt,
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMNode::dispatchEvent(_In_opt_ IDOMEvent* evt, _Out_ BOOL* result)
 {
     if (!evt || !result)
         return E_POINTER;
@@ -450,7 +445,6 @@ HRESULT DOMNode::dispatchEvent(
 // DOMNode - DOMNode ----------------------------------------------------------
 
 DOMNode::DOMNode(WebCore::Node* n)
-: m_node(0)
 {
     if (n)
         n->ref();
@@ -467,10 +461,10 @@ DOMNode::~DOMNode()
 IDOMNode* DOMNode::createInstance(WebCore::Node* n)
 {
     if (!n)
-        return 0;
+        return nullptr;
 
     HRESULT hr = S_OK;
-    IDOMNode* domNode = 0;
+    IDOMNode* domNode = nullptr;
     WebCore::Node::NodeType nodeType = n->nodeType();
 
     switch (nodeType) {
@@ -501,16 +495,18 @@ IDOMNode* DOMNode::createInstance(WebCore::Node* n)
     }
 
     if (FAILED(hr))
-        return 0;
+        return nullptr;
 
     return domNode;
 }
 
 // DOMNodeList - IUnknown -----------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMNodeList::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMNodeList::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMNodeList))
         *ppvObject = static_cast<IDOMNodeList*>(this);
     else
@@ -522,11 +518,11 @@ HRESULT STDMETHODCALLTYPE DOMNodeList::QueryInterface(REFIID riid, void** ppvObj
 
 // IDOMNodeList ---------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMNodeList::item( 
-    /* [in] */ UINT index,
-    /* [retval][out] */ IDOMNode **result)
+HRESULT DOMNodeList::item(UINT index, _COM_Outptr_opt_ IDOMNode** result)
 {
-    *result = 0;
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_nodeList)
         return E_FAIL;
 
@@ -538,9 +534,10 @@ HRESULT STDMETHODCALLTYPE DOMNodeList::item(
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMNodeList::length( 
-        /* [retval][out] */ UINT *result)
+HRESULT DOMNodeList::length(_Out_ UINT* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = 0;
     if (!m_nodeList)
         return E_FAIL;
@@ -551,7 +548,6 @@ HRESULT STDMETHODCALLTYPE DOMNodeList::length(
 // DOMNodeList - DOMNodeList --------------------------------------------------
 
 DOMNodeList::DOMNodeList(WebCore::NodeList* l)
-: m_nodeList(0)
 {
     if (l)
         l->ref();
@@ -568,21 +564,23 @@ DOMNodeList::~DOMNodeList()
 IDOMNodeList* DOMNodeList::createInstance(WebCore::NodeList* l)
 {
     if (!l)
-        return 0;
+        return nullptr;
 
-    IDOMNodeList* domNodeList = 0;
+    IDOMNodeList* domNodeList = nullptr;
     DOMNodeList* newNodeList = new DOMNodeList(l);
     if (FAILED(newNodeList->QueryInterface(IID_IDOMNodeList, (void**)&domNodeList)))
-        return 0;
+        return nullptr;
 
     return domNodeList;
 }
 
 // DOMDocument - IUnknown -----------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMDocument::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMDocument::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMDocument))
         *ppvObject = static_cast<IDOMDocument*>(this);
     else if (IsEqualGUID(riid, IID_IDOMViewCSS))
@@ -598,31 +596,37 @@ HRESULT STDMETHODCALLTYPE DOMDocument::QueryInterface(REFIID riid, void** ppvObj
 
 // DOMDocument ----------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMDocument::doctype( 
-    /* [retval][out] */ IDOMDocumentType** /*result*/)
+HRESULT DOMDocument::doctype(_COM_Outptr_opt_ IDOMDocumentType** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::implementation( 
-    /* [retval][out] */ IDOMImplementation** /*result*/)
+HRESULT DOMDocument::implementation(_COM_Outptr_opt_ IDOMImplementation** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::documentElement( 
-    /* [retval][out] */ IDOMElement** result)
+HRESULT DOMDocument::documentElement(_COM_Outptr_opt_ IDOMElement** result)
 {
+    if (!result)
+        return E_POINTER;
     *result = DOMElement::createInstance(m_document->documentElement());
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createElement( 
-    /* [in] */ BSTR tagName,
-    /* [retval][out] */ IDOMElement** result)
+HRESULT DOMDocument::createElement(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMElement** result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_document)
         return E_FAIL;
 
@@ -632,66 +636,74 @@ HRESULT STDMETHODCALLTYPE DOMDocument::createElement(
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createDocumentFragment( 
-    /* [retval][out] */ IDOMDocumentFragment** /*result*/)
+HRESULT DOMDocument::createDocumentFragment(_COM_Outptr_opt_ IDOMDocumentFragment** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createTextNode( 
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMText** /*result*/)
+HRESULT STDMETHODCALLTYPE DOMDocument::createTextNode(_In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMText** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createComment( 
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMComment** /*result*/)
+HRESULT DOMDocument::createComment(_In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMComment** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createCDATASection( 
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMCDATASection** /*result*/)
+HRESULT DOMDocument::createCDATASection(_In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMCDATASection** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createProcessingInstruction( 
-    /* [in] */ BSTR /*target*/,
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMProcessingInstruction** /*result*/)
+HRESULT DOMDocument::createProcessingInstruction(_In_ BSTR /*target*/, _In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMProcessingInstruction** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createAttribute( 
-    /* [in] */ BSTR /*name*/,
-    /* [retval][out] */ IDOMAttr** /*result*/)
+HRESULT DOMDocument::createAttribute(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMAttr** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createEntityReference( 
-    /* [in] */ BSTR /*name*/,
-    /* [retval][out] */ IDOMEntityReference** /*result*/)
+HRESULT DOMDocument::createEntityReference(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMEntityReference** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagName( 
-    /* [in] */ BSTR tagName,
-    /* [retval][out] */ IDOMNodeList** result)
+HRESULT DOMDocument::getElementsByTagName(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMNodeList** result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_document)
         return E_FAIL;
 
@@ -700,38 +712,38 @@ HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagName(
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::importNode( 
-    /* [in] */ IDOMNode* /*importedNode*/,
-    /* [in] */ BOOL /*deep*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMDocument::importNode(_In_opt_ IDOMNode* /*importedNode*/, BOOL /*deep*/, _COM_Outptr_opt_ IDOMNode** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createElementNS( 
-    /* [in] */ BSTR /*namespaceURI*/,
-    /* [in] */ BSTR /*qualifiedName*/,
-    /* [retval][out] */ IDOMElement** /*result*/)
+HRESULT DOMDocument::createElementNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*qualifiedName*/, _COM_Outptr_opt_ IDOMElement** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createAttributeNS( 
-    /* [in] */ BSTR /*namespaceURI*/,
-    /* [in] */ BSTR /*qualifiedName*/,
-    /* [retval][out] */ IDOMAttr** /*result*/)
+HRESULT DOMDocument::createAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*qualifiedName*/, _COM_Outptr_opt_ IDOMAttr** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagNameNS( 
-    /* [in] */ BSTR namespaceURI,
-    /* [in] */ BSTR localName,
-    /* [retval][out] */ IDOMNodeList** result)
+HRESULT DOMDocument::getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_document)
         return E_FAIL;
 
@@ -741,10 +753,11 @@ HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagNameNS(
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMDocument::getElementById( 
-    /* [in] */ BSTR elementId,
-    /* [retval][out] */ IDOMElement** result)
+HRESULT DOMDocument::getElementById(_In_ BSTR elementId, _COM_Outptr_opt_ IDOMElement** result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_document)
         return E_FAIL;
 
@@ -755,12 +768,12 @@ HRESULT STDMETHODCALLTYPE DOMDocument::getElementById(
 
 // DOMDocument - IDOMViewCSS --------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMDocument::getComputedStyle( 
-    /* [in] */ IDOMElement* elt,
-    /* [in] */ BSTR pseudoElt,
-    /* [retval][out] */ IDOMCSSStyleDeclaration** result)
+HRESULT DOMDocument::getComputedStyle(_In_opt_ IDOMElement* elt, _In_ BSTR pseudoElt, _COM_Outptr_opt_ IDOMCSSStyleDeclaration** result)
 {
-    if (!elt || !result)
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
+    if (!elt)
         return E_POINTER;
 
     COMPtr<DOMElement> domEle;
@@ -781,10 +794,12 @@ HRESULT STDMETHODCALLTYPE DOMDocument::getComputedStyle(
 
 // DOMDocument - IDOMDocumentEvent --------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMDocument::createEvent( 
-    /* [in] */ BSTR eventType,
-    /* [retval][out] */ IDOMEvent **result)
+HRESULT DOMDocument::createEvent(_In_ BSTR eventType, _COM_Outptr_opt_ IDOMEvent** result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
+
     String eventTypeString(eventType, SysStringLen(eventType));
     WebCore::ExceptionCode ec = 0;
     *result = DOMEvent::createInstance(m_document->createEvent(eventTypeString, ec));
@@ -794,8 +809,8 @@ HRESULT STDMETHODCALLTYPE DOMDocument::createEvent(
 // DOMDocument - DOMDocument --------------------------------------------------
 
 DOMDocument::DOMDocument(WebCore::Document* d)
-: DOMNode(d)
-, m_document(d)
+    : DOMNode(d)
+    , m_document(d)
 {
 }
 
@@ -806,10 +821,10 @@ DOMDocument::~DOMDocument()
 IDOMDocument* DOMDocument::createInstance(WebCore::Document* d)
 {
     if (!d)
-        return 0;
+        return nullptr;
 
     HRESULT hr;
-    IDOMDocument* domDocument = 0;
+    IDOMDocument* domDocument = nullptr;
 
     if (d->isHTMLDocument()) {
         DOMHTMLDocument* newDocument = new DOMHTMLDocument(d);
@@ -820,16 +835,18 @@ IDOMDocument* DOMDocument::createInstance(WebCore::Document* d)
     }
 
     if (FAILED(hr))
-        return 0;
+        return nullptr;
 
     return domDocument;
 }
 
 // DOMWindow - IUnknown ------------------------------------------------------
 
-HRESULT DOMWindow::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMWindow::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMWindow))
         *ppvObject = static_cast<IDOMWindow*>(this);
     else if (IsEqualGUID(riid, IID_IDOMEventTarget))
@@ -843,8 +860,7 @@ HRESULT DOMWindow::QueryInterface(REFIID riid, void** ppvObject)
 
 // DOMWindow - IDOMWindow ------------------------------------------------------
 
-HRESULT DOMWindow::document(
-    /* [out, retval] */ IDOMDocument** result)
+HRESULT DOMWindow::document(_COM_Outptr_opt_ IDOMDocument** result)
 {
     if (!result) {
         ASSERT_NOT_REACHED();
@@ -855,26 +871,22 @@ HRESULT DOMWindow::document(
     return *result ? S_OK : E_FAIL;
 }
 
-HRESULT DOMWindow::getComputedStyle(
-    /* [in] */ IDOMElement* element, 
-    /* [in] */ BSTR pseudoElement)
+HRESULT DOMWindow::getComputedStyle(_In_opt_ IDOMElement* element, _In_ BSTR pseudoElement)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMWindow::getMatchedCSSRules(
-    /* [in] */ IDOMElement* element, 
-    /* [in] */ BSTR pseudoElement, 
-    /* [in] */ BOOL authorOnly, 
-    /* [out, retval] */ IDOMCSSRuleList** result)
+HRESULT DOMWindow::getMatchedCSSRules(_In_opt_ IDOMElement* element, _In_ BSTR pseudoElement, BOOL authorOnly, _COM_Outptr_opt_ IDOMCSSRuleList** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT DOMWindow::devicePixelRatio(
-    /* [out, retval] */ double* result)
+HRESULT DOMWindow::devicePixelRatio(_Out_ double* result)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
@@ -882,10 +894,7 @@ HRESULT DOMWindow::devicePixelRatio(
 
 // DOMWindow - IDOMEventTarget ------------------------------------------------------
 
-HRESULT DOMWindow::addEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
+HRESULT DOMWindow::addEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
 {
     if (!type || !listener)
         return E_POINTER;
@@ -896,10 +905,7 @@ HRESULT DOMWindow::addEventListener(
     return S_OK;
 }
 
-HRESULT DOMWindow::removeEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
+HRESULT DOMWindow::removeEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
 {
     if (!type || !listener)
         return E_POINTER;
@@ -910,9 +916,7 @@ HRESULT DOMWindow::removeEventListener(
     return S_OK;
 }
 
-HRESULT DOMWindow::dispatchEvent(
-    /* [in] */ IDOMEvent* evt,
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMWindow::dispatchEvent(_In_opt_ IDOMEvent* evt, _Out_ BOOL* result)
 {
     if (!result || !evt)
         return E_POINTER;
@@ -933,7 +937,7 @@ HRESULT DOMWindow::dispatchEvent(
 // DOMWindow - DOMWindow --------------------------------------------------
 
 DOMWindow::DOMWindow(WebCore::DOMWindow* w)
-: m_window(w)
+    : m_window(w)
 {
 }
 
@@ -944,24 +948,26 @@ DOMWindow::~DOMWindow()
 IDOMWindow* DOMWindow::createInstance(WebCore::DOMWindow* w)
 {
     if (!w)
-        return 0;
+        return nullptr;
 
     DOMWindow* newWindow = new DOMWindow(w);
 
-    IDOMWindow* domWindow = 0;
+    IDOMWindow* domWindow = nullptr;
     HRESULT hr = newWindow->QueryInterface(IID_IDOMWindow, reinterpret_cast<void**>(&domWindow));
 
     if (FAILED(hr))
-        return 0;
+        return nullptr;
 
     return domWindow;
 }
 
 // DOMElement - IUnknown ------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMElement::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMElement))
         *ppvObject = static_cast<IDOMElement*>(this);
     else if (IsEqualGUID(riid, IID_DOMElement))
@@ -983,9 +989,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::QueryInterface(REFIID riid, void** ppvObje
 
 // DOMElement - IDOMNodeExtensions---------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMElement::boundingBox( 
-    /* [retval][out] */ LPRECT rect)
+HRESULT DOMElement::boundingBox(_Out_ LPRECT rect)
 {
+    if (!rect)
+        return E_POINTER;
+
     ::SetRectEmpty(rect);
 
     if (!m_element)
@@ -1003,32 +1011,30 @@ HRESULT STDMETHODCALLTYPE DOMElement::boundingBox(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::lineBoxRects( 
-    /* [size_is][in] */ RECT* /*rects*/,
-    /* [in] */ int /*cRects*/)
+HRESULT STDMETHODCALLTYPE DOMElement::lineBoxRects(__inout_ecount_full(cRects) RECT* /*rects*/, int cRects)
 {
     return E_NOTIMPL;
 }
 
 // IDOMElement ----------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMElement::tagName( 
-        /* [retval][out] */ BSTR* result)
+HRESULT DOMElement::tagName(__deref_opt_out BSTR* result)
 {
-    if (!m_element)
-        return E_FAIL;
-
     if (!result)
         return E_POINTER;
+    *result = nullptr;
+    if (!m_element)
+        return E_FAIL;
 
     *result = BString(m_element->tagName()).release();
     return S_OK;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR* result)
+HRESULT DOMElement::getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     if (!m_element)
         return E_FAIL;
     WTF::String nameString(name, SysStringLen(name));
@@ -1039,9 +1045,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::getAttribute(
     return S_OK;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value)
+HRESULT DOMElement::setAttribute(_In_ BSTR name, _In_ BSTR value)
 {
     if (!m_element)
         return E_FAIL;
@@ -1053,115 +1057,109 @@ HRESULT STDMETHODCALLTYPE DOMElement::setAttribute(
     return ec ? E_FAIL : S_OK;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::removeAttribute( 
-        /* [in] */ BSTR /*name*/)
+HRESULT DOMElement::removeAttribute(_In_ BSTR /*name*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNode( 
-        /* [in] */ BSTR /*name*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
+HRESULT DOMElement::getAttributeNode(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMAttr** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNode( 
-        /* [in] */ IDOMAttr* /*newAttr*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
+HRESULT DOMElement::setAttributeNode(_In_opt_ IDOMAttr* /*newAttr*/, _COM_Outptr_opt_ IDOMAttr** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::removeAttributeNode( 
-        /* [in] */ IDOMAttr* /*oldAttr*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
+HRESULT DOMElement::removeAttributeNode(_In_opt_ IDOMAttr* /*oldAttr*/, _COM_Outptr_opt_ IDOMAttr** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::getElementsByTagName( 
-        /* [in] */ BSTR /*name*/,
-        /* [retval][out] */ IDOMNodeList** /*result*/)
+HRESULT DOMElement::getElementsByTagName(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMNodeList** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMElement::getAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, __deref_opt_out BSTR* result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*qualifiedName*/,
-        /* [in] */ BSTR /*value*/)
+HRESULT DOMElement::setAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*qualifiedName*/, _In_ BSTR /*value*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::removeAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/)
+HRESULT DOMElement::removeAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNodeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
+HRESULT DOMElement::getAttributeNodeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, _COM_Outptr_opt_ IDOMAttr** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNodeNS( 
-        /* [in] */ IDOMAttr* /*newAttr*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
+HRESULT DOMElement::setAttributeNodeNS(_In_opt_ IDOMAttr* /*newAttr*/, _COM_Outptr_opt_ IDOMAttr** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::getElementsByTagNameNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ IDOMNodeList** /*result*/)
+HRESULT DOMElement::getElementsByTagNameNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, _COM_Outptr_opt_ IDOMNodeList** result)
 {
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::hasAttribute( 
-        /* [in] */ BSTR /*name*/,
-        /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMElement::hasAttribute(_In_ BSTR /*name*/, _Out_ BOOL* /*result*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
     
-HRESULT STDMETHODCALLTYPE DOMElement::hasAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMElement::hasAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, _Out_ BOOL* /*result*/)
 {
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::focus( void)
+HRESULT DOMElement::focus()
 {
     if (!m_element)
         return E_FAIL;
@@ -1169,7 +1167,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::focus( void)
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::blur( void)
+HRESULT DOMElement::blur()
 {
     if (!m_element)
         return E_FAIL;
@@ -1179,7 +1177,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::blur( void)
 
 // IDOMElementPrivate ---------------------------------------------------------
 
-HRESULT DOMElement::coreElement(void **element)
+HRESULT DOMElement::coreElement(__deref_opt_out void **element)
 {
     if (!m_element)
         return E_FAIL;
@@ -1187,13 +1185,14 @@ HRESULT DOMElement::coreElement(void **element)
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::isEqual( 
-    /* [in] */ IDOMElement *other,
-    /* [retval][out] */ BOOL *result)
+HRESULT DOMElement::isEqual(_In_opt_ IDOMElement* other, _Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
+
     *result = FALSE;
 
-    if (!other || !result)
+    if (!other)
         return E_POINTER;
 
     IDOMElementPrivate* otherPriv;
@@ -1211,9 +1210,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::isEqual(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::isFocused( 
-    /* [retval][out] */ BOOL *result)
+HRESULT DOMElement::isFocused(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = FALSE;
     if (!m_element)
         return E_FAIL;
 
@@ -1225,14 +1226,15 @@ HRESULT STDMETHODCALLTYPE DOMElement::isFocused(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::innerText(
-    /* [retval][out] */ BSTR* result)
+HRESULT DOMElement::innerText(__deref_opt_out BSTR* result)
 {
     if (!result) {
         ASSERT_NOT_REACHED();
         return E_POINTER;
     }
 
+    *result = nullptr;
+
     if (!m_element) {
         ASSERT_NOT_REACHED();
         return E_FAIL;
@@ -1242,7 +1244,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::innerText(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::font(WebFontDescription* webFontDescription)
+HRESULT DOMElement::font(_Out_ WebFontDescription* webFontDescription)
 {
     if (!webFontDescription) {
         ASSERT_NOT_REACHED();
@@ -1271,13 +1273,13 @@ HRESULT STDMETHODCALLTYPE DOMElement::font(WebFontDescription* webFontDescriptio
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::renderedImage(HBITMAP* image)
+HRESULT DOMElement::renderedImage(__deref_opt_out HBITMAP* image)
 {
     if (!image) {
         ASSERT_NOT_REACHED();
         return E_POINTER;
     }
-    *image = 0;
+    *image = nullptr;
 
     ASSERT(m_element);
 
@@ -1292,8 +1294,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::renderedImage(HBITMAP* image)
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::markerTextForListItem(
-    /* [retval][out] */ BSTR* markerText)
+HRESULT DOMElement::markerTextForListItem(__deref_opt_out BSTR* markerText)
 {
     if (!markerText)
         return E_POINTER;
@@ -1304,8 +1305,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::markerTextForListItem(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::shadowPseudoId(
-    /* [retval][out] */ BSTR* result)
+HRESULT DOMElement::shadowPseudoId(__deref_opt_out BSTR* result)
 {
     if (!result)
         return E_POINTER;
@@ -1318,11 +1318,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::shadowPseudoId(
 
 // IDOMElementCSSInlineStyle --------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMElement::style( 
-    /* [retval][out] */ IDOMCSSStyleDeclaration** result)
+HRESULT DOMElement::style(_COM_Outptr_opt_ IDOMCSSStyleDeclaration** result)
 {
     if (!result)
         return E_POINTER;
+    *result = nullptr;
     if (!m_element)
         return E_FAIL;
 
@@ -1336,9 +1336,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::style(
 
 // IDOMElementExtensions ------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMElement::offsetLeft( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::offsetLeft(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1346,9 +1348,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::offsetLeft(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::offsetTop( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::offsetTop(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1356,9 +1360,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::offsetTop(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::offsetWidth( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::offsetWidth(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1366,9 +1372,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::offsetWidth(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::offsetHeight( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::offsetHeight(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1376,17 +1384,21 @@ HRESULT STDMETHODCALLTYPE DOMElement::offsetHeight(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::offsetParent( 
-    /* [retval][out] */ IDOMElement** /*result*/)
+HRESULT DOMElement::offsetParent(_COM_Outptr_opt_ IDOMElement** result)
 {
     // FIXME
     ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::clientWidth( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::clientWidth(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1394,9 +1406,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::clientWidth(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::clientHeight( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::clientHeight(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1404,9 +1418,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::clientHeight(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::scrollLeft( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::scrollLeft(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1414,17 +1430,18 @@ HRESULT STDMETHODCALLTYPE DOMElement::scrollLeft(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::setScrollLeft( 
-    /* [in] */ int /*newScrollLeft*/)
+HRESULT DOMElement::setScrollLeft(int /*newScrollLeft*/)
 {
     // FIXME
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::scrollTop( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::scrollTop(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1432,17 +1449,18 @@ HRESULT STDMETHODCALLTYPE DOMElement::scrollTop(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::setScrollTop( 
-    /* [in] */ int /*newScrollTop*/)
+HRESULT DOMElement::setScrollTop(int /*newScrollTop*/)
 {
     // FIXME
     ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::scrollWidth( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::scrollWidth(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1450,9 +1468,11 @@ HRESULT STDMETHODCALLTYPE DOMElement::scrollWidth(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::scrollHeight( 
-    /* [retval][out] */ int* result)
+HRESULT DOMElement::scrollHeight(_Out_ int* result)
 {
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     if (!m_element)
         return E_FAIL;
 
@@ -1460,8 +1480,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::scrollHeight(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoView( 
-    /* [in] */ BOOL alignWithTop)
+HRESULT DOMElement::scrollIntoView(BOOL alignWithTop)
 {
     if (!m_element)
         return E_FAIL;
@@ -1470,8 +1489,7 @@ HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoView(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoViewIfNeeded( 
-    /* [in] */ BOOL centerIfNeeded)
+HRESULT DOMElement::scrollIntoViewIfNeeded(BOOL centerIfNeeded)
 {
     if (!m_element)
         return E_FAIL;
@@ -1483,8 +1501,8 @@ HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoViewIfNeeded(
 // DOMElement -----------------------------------------------------------------
 
 DOMElement::DOMElement(WebCore::Element* e)
-: DOMNode(e)
-, m_element(e)
+    : DOMNode(e)
+    , m_element(e)
 {
 }
 
@@ -1498,7 +1516,7 @@ IDOMElement* DOMElement::createInstance(WebCore::Element* e)
         return nullptr;
 
     HRESULT hr;
-    IDOMElement* domElement = 0;
+    IDOMElement* domElement = nullptr;
 
     if (is<WebCore::HTMLFormElement>(*e)) {
         DOMHTMLFormElement* newElement = new DOMHTMLFormElement(e);
@@ -1527,15 +1545,17 @@ IDOMElement* DOMElement::createInstance(WebCore::Element* e)
     }
 
     if (FAILED(hr))
-        return 0;
+        return nullptr;
 
     return domElement;
 }
 
 // DOMRange - IUnknown -----------------------------------------------------
 
-HRESULT DOMRange::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMRange::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
+    if (!ppvObject)
+        return E_POINTER;
     *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMRange))
         *ppvObject = static_cast<IDOMRange*>(this);
@@ -1571,11 +1591,11 @@ IDOMRange* DOMRange::createInstance(WebCore::Range* range)
     return newRange;
 }
 
-HRESULT DOMRange::startContainer(IDOMNode** node)
+HRESULT DOMRange::startContainer(_COM_Outptr_opt_ IDOMNode** node)
 {
     if (!node)
         return E_POINTER;
-
+    *node = nullptr;
     if (!m_range)
         return E_UNEXPECTED;
 
@@ -1584,11 +1604,11 @@ HRESULT DOMRange::startContainer(IDOMNode** node)
     return S_OK;
 }
 
-HRESULT DOMRange::startOffset(int* offset)
+HRESULT DOMRange::startOffset(_Out_ int* offset)
 {
     if (!offset)
         return E_POINTER;
-
+    *offset = 0;
     if (!m_range)
         return E_UNEXPECTED;
 
@@ -1597,11 +1617,11 @@ HRESULT DOMRange::startOffset(int* offset)
     return S_OK;
 }
 
-HRESULT DOMRange::endContainer(IDOMNode** node)
+HRESULT DOMRange::endContainer(_COM_Outptr_opt_ IDOMNode** node)
 {
     if (!node)
         return E_POINTER;
-
+    *node = nullptr;
     if (!m_range)
         return E_UNEXPECTED;
 
@@ -1610,11 +1630,11 @@ HRESULT DOMRange::endContainer(IDOMNode** node)
     return S_OK;
 }
 
-HRESULT DOMRange::endOffset(int* offset)
+HRESULT DOMRange::endOffset(_Out_ int* offset)
 {
     if (!offset)
         return E_POINTER;
-
+    *offset = 0;
     if (!m_range)
         return E_UNEXPECTED;
 
@@ -1623,11 +1643,11 @@ HRESULT DOMRange::endOffset(int* offset)
     return S_OK;
 }
 
-HRESULT DOMRange::collapsed(BOOL* result)
+HRESULT DOMRange::collapsed(_Out_ BOOL* result)
 {
     if (!result)
         return E_POINTER;
-
+    *result = FALSE;
     if (!m_range)
         return E_UNEXPECTED;
 
@@ -1637,96 +1657,125 @@ HRESULT DOMRange::collapsed(BOOL* result)
     return S_OK;
 }
 
-HRESULT DOMRange::commonAncestorContainer(IDOMNode** container)
+HRESULT DOMRange::commonAncestorContainer(_COM_Outptr_opt_ IDOMNode** container)
 {
+    ASSERT_NOT_REACHED();
+    if (!container)
+        return E_POINTER;
+    *container = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::setStart(IDOMNode* refNode, int offset)
+HRESULT DOMRange::setStart(_In_opt_ IDOMNode* refNode, int offset)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::setEnd(IDOMNode* refNode, int offset)
+HRESULT DOMRange::setEnd(_In_opt_ IDOMNode* refNode, int offset)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::setStartBefore(IDOMNode* refNode)
+HRESULT DOMRange::setStartBefore(_In_opt_ IDOMNode* refNode)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::setStartAfter(IDOMNode* refNode)
+HRESULT DOMRange::setStartAfter(_In_opt_ IDOMNode* refNode)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::setEndBefore(IDOMNode* refNode)
+HRESULT DOMRange::setEndBefore(_In_opt_  IDOMNode* refNode)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::setEndAfter(IDOMNode* refNode)
+HRESULT DOMRange::setEndAfter(_In_opt_  IDOMNode* refNode)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
 HRESULT DOMRange::collapse(BOOL toStart)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::selectNode(IDOMNode* refNode)
+HRESULT DOMRange::selectNode(_In_opt_ IDOMNode* refNode)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::selectNodeContents(IDOMNode* refNode)
+HRESULT DOMRange::selectNodeContents(_In_opt_ IDOMNode* refNode)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::compareBoundaryPoints(unsigned short how, IDOMRange* sourceRange)
+HRESULT DOMRange::compareBoundaryPoints(unsigned short how, _In_opt_ IDOMRange* sourceRange)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
 HRESULT DOMRange::deleteContents()
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::extractContents(IDOMDocumentFragment** fragment)
+HRESULT DOMRange::extractContents(_COM_Outptr_opt_ IDOMDocumentFragment** fragment)
 {
+    ASSERT_NOT_REACHED();
+    if (!fragment)
+        return E_POINTER;
+    *fragment = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::cloneContents(IDOMDocumentFragment** fragment)
+HRESULT DOMRange::cloneContents(_COM_Outptr_opt_ IDOMDocumentFragment** fragment)
 {
+    ASSERT_NOT_REACHED();
+    if (!fragment)
+        return E_POINTER;
+    *fragment = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::insertNode(IDOMNode* newNode)
+HRESULT DOMRange::insertNode(_In_opt_ IDOMNode* newNode)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::surroundContents(IDOMNode* newParent)
+HRESULT DOMRange::surroundContents(_In_opt_ IDOMNode* newParent)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::cloneRange(IDOMRange** range)
+HRESULT DOMRange::cloneRange(_COM_Outptr_opt_ IDOMRange** range)
 {
+    ASSERT_NOT_REACHED();
+    if (!range)
+        return E_POINTER;
+    *range = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT DOMRange::toString(BSTR* str)
+HRESULT DOMRange::toString(__deref_opt_out BSTR* str)
 {
     if (!str)
         return E_POINTER;
-
+    *str = nullptr;
     if (!m_range)
         return E_UNEXPECTED;
 
@@ -1738,5 +1787,6 @@ HRESULT DOMRange::toString(BSTR* str)
 
 HRESULT DOMRange::detach()
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
index 080bfc2..bfdb867 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2007, 2014 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2007, 2014-2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -42,207 +42,148 @@ class Range;
 class DOMObject : public WebScriptObject, public IDOMObject {
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return WebScriptObject::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return WebScriptObject::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return WebScriptObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return WebScriptObject::throwException(exceptionMessage, result); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return WebScriptObject::throwException(exceptionMessage, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return WebScriptObject::callWebScriptMethod(name, args, cArgs, result); }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return WebScriptObject::callWebScriptMethod(name, args, cArgs, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return WebScriptObject::evaluateWebScript(script, result); }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return WebScriptObject::evaluateWebScript(script, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return WebScriptObject::removeWebScriptKey(name); }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return WebScriptObject::removeWebScriptKey(name); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return WebScriptObject::stringRepresentation(stringRepresentation); }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return WebScriptObject::stringRepresentation(stringRepresentation);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return WebScriptObject::webScriptValueAtIndex(index, result); }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return WebScriptObject::webScriptValueAtIndex(index, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return WebScriptObject::setWebScriptValueAtIndex(index, val); }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return WebScriptObject::setWebScriptValueAtIndex(index, val);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return WebScriptObject::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return WebScriptObject::setException(description);
+    }
 };
 
 class DECLSPEC_UUID("062AEEE3-9E42-44DC-A8A9-236B216FE011") DOMNode : public DOMObject, public IDOMNode, public IDOMEventTarget {
 protected:
-    DOMNode(WebCore::Node* n);
+    DOMNode(WebCore::Node*);
     ~DOMNode();
 
 public:
-    static IDOMNode* createInstance(WebCore::Node* n);
+    static IDOMNode* createInstance(WebCore::Node*);
 
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMObject::callWebScriptMethod(name, args, cArgs, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
 
     // IDOMNode
-    virtual HRESULT STDMETHODCALLTYPE nodeName(
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE nodeValue(
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setNodeValue(
-        /* [in] */ BSTR value);
-    
-    virtual HRESULT STDMETHODCALLTYPE nodeType(
-        /* [retval][out] */ unsigned short* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE parentNode(
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE childNodes(
-        /* [retval][out] */ IDOMNodeList** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE firstChild(
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE lastChild(
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE previousSibling(
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE nextSibling(
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE attributes(
-        /* [retval][out] */ IDOMNamedNodeMap** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE ownerDocument(
-        /* [retval][out] */ IDOMDocument** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE insertBefore(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* refChild,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE replaceChild(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE appendChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE cloneNode(
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE normalize( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE isSupported(
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE namespaceURI(
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE prefix(
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setPrefix(
-        /* [in] */ BSTR prefix);
-    
-    virtual HRESULT STDMETHODCALLTYPE localName(
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
-        /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE isSameNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE isEqualNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE textContent(
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTextContent(
-        /* [in] */ BSTR text);
+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short*);
+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList**);
+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap**);
+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument**);
+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result);
+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result);
+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result);
+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result);
+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result);
+    virtual HRESULT STDMETHODCALLTYPE normalize();
+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR);
 
     // IDOMEventTarget
-    virtual HRESULT STDMETHODCALLTYPE addEventListener(
-        /* [in] */ BSTR type,
-        /* [in] */ IDOMEventListener *listener,
-        /* [in] */ BOOL useCapture);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeEventListener(
-        /* [in] */ BSTR type,
-        /* [in] */ IDOMEventListener *listener,
-        /* [in] */ BOOL useCapture);
-    
-    virtual HRESULT STDMETHODCALLTYPE dispatchEvent(
-        /* [in] */ IDOMEvent *evt,
-        /* [retval][out] */ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE addEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener*, BOOL useCapture);
+    virtual HRESULT STDMETHODCALLTYPE removeEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener*, BOOL useCapture);
+    virtual HRESULT STDMETHODCALLTYPE dispatchEvent(_In_opt_ IDOMEvent*, _Out_ BOOL* result);
 
     // DOMNode
     WebCore::Node* node() const { return m_node; }
 
 protected:
-    WebCore::Node* m_node;
+    WebCore::Node* m_node { nullptr };
 };
 
 class DOMNodeList : public DOMObject, public IDOMNodeList {
@@ -255,52 +196,57 @@ public:
 
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMObject::callWebScriptMethod(name, args, cArgs, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
 
     // IDOMNodeList
-    virtual HRESULT STDMETHODCALLTYPE item(
-        /* [in] */ UINT index,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE length(
-        /* [retval][out] */ UINT* result);
+    virtual HRESULT STDMETHODCALLTYPE item(UINT index, _COM_Outptr_opt_ IDOMNode** result);
+    virtual HRESULT STDMETHODCALLTYPE length(_Out_ UINT* result);
 
 protected:
-    WebCore::NodeList* m_nodeList;
+    WebCore::NodeList* m_nodeList { nullptr };
 };
 
 class DOMDocument : public DOMNode, public IDOMDocument, public IDOMViewCSS, public IDOMDocumentEvent {
@@ -313,220 +259,221 @@ public:
 
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMNode::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMNode::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMNode::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMNode::throwException(exceptionMessage, result); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMNode::throwException(exceptionMessage, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::callWebScriptMethod(name, args, cArgs, result); }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMNode::callWebScriptMethod(name, args, cArgs, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::evaluateWebScript(script, result); }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMNode::evaluateWebScript(script, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMNode::removeWebScriptKey(name); }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMNode::removeWebScriptKey(name);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMNode::stringRepresentation(stringRepresentation); }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMNode::stringRepresentation(stringRepresentation);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::webScriptValueAtIndex(index, result); }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMNode::webScriptValueAtIndex(index, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMNode::setWebScriptValueAtIndex(index, val); }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMNode::setWebScriptValueAtIndex(index, val);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMNode::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMNode::setException(description);
+    }
 
     // IDOMNode
-    virtual HRESULT STDMETHODCALLTYPE nodeName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeName(result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE nodeValue(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeValue(result); }
+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeName(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setNodeValue(
-        /* [in] */ BSTR value) { return DOMNode::setNodeValue(value); }
+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeValue(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE nodeType(
-        /* [retval][out] */ unsigned short* result) { return DOMNode::nodeType(result); }
+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMNode::setNodeValue(value);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE parentNode(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::parentNode(result); }
+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMNode::nodeType(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE childNodes(
-        /* [retval][out] */ IDOMNodeList** result) { return DOMNode::childNodes(result); }
+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::parentNode(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE firstChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::firstChild(result); }
+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMNode::childNodes(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE lastChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::lastChild(result); }
+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::firstChild(result); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE previousSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::previousSibling(result); }
+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::lastChild(result); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE nextSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::nextSibling(result); }
+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::previousSibling(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE attributes(
-        /* [retval][out] */ IDOMNamedNodeMap** result) { return DOMNode::attributes(result); }
+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::nextSibling(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE ownerDocument(
-        /* [retval][out] */ IDOMDocument** result) { return DOMNode::ownerDocument(result); }
+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMNode::attributes(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE insertBefore(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* refChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::insertBefore(newChild, refChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMNode::ownerDocument(result); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE replaceChild(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::replaceChild(newChild, oldChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::insertBefore(newChild, refChild, result); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::removeChild(oldChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::replaceChild(newChild, oldChild, result); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE appendChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::appendChild(oldChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::removeChild(oldChild, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasChildNodes(result); }
+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::appendChild(oldChild, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE cloneNode(
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::cloneNode(deep, result); }
+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasChildNodes(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMNode::normalize(); }
+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::cloneNode(deep, result); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE isSupported(
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSupported(feature, version, result); }
+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMNode::normalize();
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE namespaceURI(
-        /* [retval][out] */ BSTR* result) { return DOMNode::namespaceURI(result); }
+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result)
+    {
+        return DOMNode::isSupported(feature, version, result);
+    }
+
+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::namespaceURI(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE prefix(
-        /* [retval][out] */ BSTR* result) { return DOMNode::prefix(result); }
+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::prefix(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setPrefix(
-        /* [in] */ BSTR prefix) { return DOMNode::setPrefix(prefix); }
+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMNode::setPrefix(prefix);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE localName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::localName(result); }
+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::localName(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasAttributes(result); }
+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasAttributes(result);
+    }
 
-    virtual HRESULT STDMETHODCALLTYPE isSameNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSameNode(other, result); }
+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isSameNode(other, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE isEqualNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isEqualNode(other, result); }
+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isEqualNode(other, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE textContent(
-        /* [retval][out] */ BSTR* result) { return DOMNode::textContent(result); }
+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::textContent(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setTextContent(
-        /* [in] */ BSTR text) { return DOMNode::setTextContent(text); }
+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMNode::setTextContent(text);
+    }
     
     // IDOMDocument
-    virtual HRESULT STDMETHODCALLTYPE doctype(
-        /* [retval][out] */ IDOMDocumentType** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE implementation(
-        /* [retval][out] */ IDOMImplementation** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE documentElement(
-        /* [retval][out] */ IDOMElement** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createElement(
-        /* [in] */ BSTR tagName,
-        /* [retval][out] */ IDOMElement** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(
-        /* [retval][out] */ IDOMDocumentFragment** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createTextNode(
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMText** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createComment(
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMComment** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createCDATASection(
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMCDATASection** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(
-        /* [in] */ BSTR target,
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMProcessingInstruction** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createAttribute(
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createEntityReference(
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMEntityReference** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
-        /* [in] */ BSTR tagName,
-        /* [retval][out] */ IDOMNodeList** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE importNode(
-        /* [in] */ IDOMNode* importedNode,
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createElementNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [retval][out] */ IDOMElement** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE createAttributeNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [retval][out] */ IDOMAttr** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementById(
-        /* [in] */ BSTR elementId,
-        /* [retval][out] */ IDOMElement** result);
+    virtual HRESULT STDMETHODCALLTYPE doctype(_COM_Outptr_opt_ IDOMDocumentType**);
+    virtual HRESULT STDMETHODCALLTYPE implementation(_COM_Outptr_opt_ IDOMImplementation**);
+    virtual HRESULT STDMETHODCALLTYPE documentElement(_COM_Outptr_opt_ IDOMElement**);
+    virtual HRESULT STDMETHODCALLTYPE createElement(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMElement**);
+    virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(_COM_Outptr_opt_ IDOMDocumentFragment**);
+    virtual HRESULT STDMETHODCALLTYPE createTextNode(_In_ BSTR data, _COM_Outptr_opt_ IDOMText**);
+    virtual HRESULT STDMETHODCALLTYPE createComment(_In_ BSTR data, _COM_Outptr_opt_ IDOMComment**);
+    virtual HRESULT STDMETHODCALLTYPE createCDATASection(_In_ BSTR data, _COM_Outptr_opt_ IDOMCDATASection**);
+    virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(_In_ BSTR target, _In_ BSTR data, _COM_Outptr_opt_ IDOMProcessingInstruction**);
+    virtual HRESULT STDMETHODCALLTYPE createAttribute(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr**);
+    virtual HRESULT STDMETHODCALLTYPE createEntityReference(_In_ BSTR name, _COM_Outptr_opt_ IDOMEntityReference**);
+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMNodeList**);
+    virtual HRESULT STDMETHODCALLTYPE importNode(_In_opt_ IDOMNode* importedNode, BOOL deep, _COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE createElementNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _COM_Outptr_opt_ IDOMElement**);
+    virtual HRESULT STDMETHODCALLTYPE createAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _COM_Outptr_opt_ IDOMAttr**);
+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList**);
+    virtual HRESULT STDMETHODCALLTYPE getElementById(_In_ BSTR elementId, _COM_Outptr_opt_ IDOMElement**);
 
     // IDOMViewCSS
-    virtual HRESULT STDMETHODCALLTYPE getComputedStyle(
-        /* [in] */ IDOMElement* elt,
-        /* [in] */ BSTR pseudoElt,
-        /* [retval][out] */ IDOMCSSStyleDeclaration** result);
+    virtual HRESULT STDMETHODCALLTYPE getComputedStyle(_In_opt_ IDOMElement* elt, _In_ BSTR pseudoElt, _COM_Outptr_opt_ IDOMCSSStyleDeclaration**);
 
     // IDOMDocumentEvent
-    virtual HRESULT STDMETHODCALLTYPE createEvent(
-        /* [in] */ BSTR eventType,
-        /* [retval][out] */ IDOMEvent** result);
+    virtual HRESULT STDMETHODCALLTYPE createEvent(_In_ BSTR eventType, _COM_Outptr_opt_ IDOMEvent**);
 
     // DOMDocument
     WebCore::Document* document() { return m_document; }
@@ -545,71 +492,58 @@ public:
 
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
+    virtual ULONG STDMETHODCALLTYPE Release() { return DOMObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMObject::callWebScriptMethod(name, args, cArgs, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
-    virtual HRESULT STDMETHODCALLTYPE document(
-        /* [out, retval] */ IDOMDocument**);
-
-    virtual HRESULT STDMETHODCALLTYPE getComputedStyle(
-        /* [in] */ IDOMElement*, 
-        /* [in] */ BSTR);
-
-    virtual HRESULT STDMETHODCALLTYPE getMatchedCSSRules(
-        /* [in] */ IDOMElement*, 
-        /* [in] */ BSTR, 
-        /* [in] */ BOOL, 
-        /* [out, retval] */ IDOMCSSRuleList**);
-
-    virtual HRESULT STDMETHODCALLTYPE devicePixelRatio(
-        /* [out, retval] */ double*);
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
 
-    virtual HRESULT STDMETHODCALLTYPE addEventListener(
-        /* [in] */ BSTR,
-        /* [in] */ IDOMEventListener *,
-        /* [in] */ BOOL);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeEventListener(
-        /* [in] */ BSTR,
-        /* [in] */ IDOMEventListener *,
-        /* [in] */ BOOL);
-    
-    virtual HRESULT STDMETHODCALLTYPE dispatchEvent(
-        /* [in] */ IDOMEvent *,
-        /* [retval][out] */ BOOL *);
+    virtual HRESULT STDMETHODCALLTYPE document(_COM_Outptr_opt_ IDOMDocument**);
+    virtual HRESULT STDMETHODCALLTYPE getComputedStyle(_In_opt_ IDOMElement*, _In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE getMatchedCSSRules(_In_opt_ IDOMElement*, _In_ BSTR, BOOL, _COM_Outptr_opt_ IDOMCSSRuleList**);
+    virtual HRESULT STDMETHODCALLTYPE devicePixelRatio(_Out_ double*);
+    virtual HRESULT STDMETHODCALLTYPE addEventListener(_In_ BSTR, _In_opt_ IDOMEventListener*, BOOL);
+    virtual HRESULT STDMETHODCALLTYPE removeEventListener(_In_ BSTR, _In_opt_ IDOMEventListener*, BOOL);
+    virtual HRESULT STDMETHODCALLTYPE dispatchEvent(_In_opt_ IDOMEvent *, _Out_ BOOL*);
 
     // DOMWindow
     WebCore::DOMWindow* window() { return m_window; }
@@ -629,295 +563,250 @@ public:
     static IDOMElement* createInstance(WebCore::Element* e);
 
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMNode::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMNode::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMNode::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMNode::throwException(exceptionMessage, result); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMNode::throwException(exceptionMessage, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::callWebScriptMethod(name, args, cArgs, result); }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMNode::callWebScriptMethod(name, args, cArgs, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::evaluateWebScript(script, result); }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMNode::evaluateWebScript(script, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMNode::removeWebScriptKey(name); }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMNode::removeWebScriptKey(name); 
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMNode::stringRepresentation(stringRepresentation); }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMNode::stringRepresentation(stringRepresentation);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::webScriptValueAtIndex(index, result); }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMNode::webScriptValueAtIndex(index, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMNode::setWebScriptValueAtIndex(index, val); }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMNode::setWebScriptValueAtIndex(index, val);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMNode::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMNode::setException(description);
+    }
 
     // IDOMNode
-    virtual HRESULT STDMETHODCALLTYPE nodeName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeName(result); }
+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeName(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE nodeValue(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeValue(result); }
+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeValue(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setNodeValue(
-        /* [in] */ BSTR value) { return DOMNode::setNodeValue(value); }
+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMNode::setNodeValue(value);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE nodeType(
-        /* [retval][out] */ unsigned short* result) { return DOMNode::nodeType(result); }
+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMNode::nodeType(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE parentNode(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::parentNode(result); }
+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::parentNode(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE childNodes(
-        /* [retval][out] */ IDOMNodeList** result) { return DOMNode::childNodes(result); }
+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMNode::childNodes(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE firstChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::firstChild(result); }
+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::firstChild(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE lastChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::lastChild(result); }
+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::lastChild(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE previousSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::previousSibling(result); }
+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::previousSibling(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE nextSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::nextSibling(result); }
+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::nextSibling(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE attributes(
-        /* [retval][out] */ IDOMNamedNodeMap** result) { return DOMNode::attributes(result); }
+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMNode::attributes(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE ownerDocument(
-        /* [retval][out] */ IDOMDocument** result) { return DOMNode::ownerDocument(result); }
+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMNode::ownerDocument(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE insertBefore(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* refChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::insertBefore(newChild, refChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_  IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::insertBefore(newChild, refChild, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE replaceChild(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::replaceChild(newChild, oldChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_  IDOMNode* newChild, _In_opt_  IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::replaceChild(newChild, oldChild, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE removeChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::removeChild(oldChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_  IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::removeChild(oldChild, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE appendChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::appendChild(oldChild, result); }
+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::appendChild(oldChild, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasChildNodes(result); }
+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasChildNodes(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE cloneNode(
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::cloneNode(deep, result); }
+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::cloneNode(deep, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMNode::normalize(); }
+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMNode::normalize();
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE isSupported(
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSupported(feature, version, result); }
+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_  BSTR version, _Out_ BOOL* result)
+    {
+        return DOMNode::isSupported(feature, version, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE namespaceURI(
-        /* [retval][out] */ BSTR* result) { return DOMNode::namespaceURI(result); }
+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::namespaceURI(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE prefix(
-        /* [retval][out] */ BSTR* result) { return DOMNode::prefix(result); }
+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::prefix(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setPrefix(
-        /* [in] */ BSTR prefix) { return DOMNode::setPrefix(prefix); }
+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMNode::setPrefix(prefix);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE localName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::localName(result); }
+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::localName(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasAttributes(result); }
+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasAttributes(result);
+    }
 
-    virtual HRESULT STDMETHODCALLTYPE isSameNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSameNode(other, result); }
+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isSameNode(other, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE isEqualNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isEqualNode(other, result); }
+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isEqualNode(other, result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE textContent(
-        /* [retval][out] */ BSTR* result) { return DOMNode::textContent(result); }
+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::textContent(result);
+    }
     
-    virtual HRESULT STDMETHODCALLTYPE setTextContent(
-        /* [in] */ BSTR text) { return DOMNode::setTextContent(text); }
+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMNode::setTextContent(text);
+    }
     
     // IDOMElement
-    virtual HRESULT STDMETHODCALLTYPE tagName(
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getAttribute(
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAttribute(
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeAttribute(
-        /* [in] */ BSTR name);
-    
-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName);
-    
-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE hasAttribute(
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE focus( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE blur( void);
+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_ BSTR value);
+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name);
+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr**);
+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr* newAttr, _COM_Outptr_opt_ IDOMAttr**);
+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr* oldAttr, _COM_Outptr_opt_ IDOMAttr**);
+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList**);
+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_ BSTR value);
+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName);
+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr**);
+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr*, _COM_Outptr_opt_ IDOMAttr**);
+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList**);
+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE focus();
+    virtual HRESULT STDMETHODCALLTYPE blur();
 
     // IDOMNodeExtensions
-    virtual HRESULT STDMETHODCALLTYPE boundingBox(
-        /* [retval][out] */ LPRECT rect);
-    
-    virtual HRESULT STDMETHODCALLTYPE lineBoxRects(
-        /* [size_is][in] */ RECT* rects,
-        /* [in] */ int cRects);
+    virtual HRESULT STDMETHODCALLTYPE boundingBox(_Out_ LPRECT);
+    virtual HRESULT STDMETHODCALLTYPE lineBoxRects(__inout_ecount_full(cRects) RECT*, int cRects);
 
     // IDOMElementPrivate
-    virtual HRESULT STDMETHODCALLTYPE coreElement(
-        void** element);
-
-    virtual HRESULT STDMETHODCALLTYPE isEqual(
-        /* [in] */ IDOMElement* other,
-        /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE isFocused(
-        /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE innerText(
-        /* [retval][out] */ BSTR* result);
-
-    virtual HRESULT STDMETHODCALLTYPE font(
-        WebFontDescription* webFontDescription);
-
-    virtual HRESULT STDMETHODCALLTYPE renderedImage(
-        /* [retval][out] */ HBITMAP* image);
-
-    virtual HRESULT STDMETHODCALLTYPE markerTextForListItem(
-        /* [retval][out] */ BSTR* markerText);
-
-    virtual HRESULT STDMETHODCALLTYPE shadowPseudoId(
-        /* [retval][out] */ BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE coreElement(__deref_opt_out void** element);
+    virtual HRESULT STDMETHODCALLTYPE isEqual(_In_opt_ IDOMElement* other, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE isFocused(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE font(_Out_ WebFontDescription*);
+    virtual HRESULT STDMETHODCALLTYPE renderedImage(__deref_opt_out HBITMAP* image);
+    virtual HRESULT STDMETHODCALLTYPE markerTextForListItem(__deref_opt_out BSTR* markerText);
+    virtual HRESULT STDMETHODCALLTYPE shadowPseudoId(__deref_opt_out BSTR* result);
 
     // IDOMElementCSSInlineStyle
-    virtual HRESULT STDMETHODCALLTYPE style(
-        /* [retval][out] */ IDOMCSSStyleDeclaration** result);
+    virtual HRESULT STDMETHODCALLTYPE style(_COM_Outptr_opt_ IDOMCSSStyleDeclaration**);
 
     // IDOMElementExtensions
-    virtual HRESULT STDMETHODCALLTYPE offsetLeft(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetTop(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetWidth(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetHeight(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetParent(
-        /* [retval][out] */ IDOMElement** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE clientWidth(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE clientHeight(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE scrollLeft(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setScrollLeft(
-        /* [in] */ int newScrollLeft);
-    
-    virtual HRESULT STDMETHODCALLTYPE scrollTop(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setScrollTop(
-        /* [in] */ int newScrollTop);
-    
-    virtual HRESULT STDMETHODCALLTYPE scrollWidth(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE scrollHeight(
-        /* [retval][out] */ int* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE scrollIntoView(
-        /* [in] */ BOOL alignWithTop);
-    
-    virtual HRESULT STDMETHODCALLTYPE scrollIntoViewIfNeeded(
-        /* [in] */ BOOL centerIfNeeded);
+    virtual HRESULT STDMETHODCALLTYPE offsetLeft(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE offsetTop(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE offsetWidth(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE offsetHeight(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE offsetParent(_COM_Outptr_opt_ IDOMElement**);
+    virtual HRESULT STDMETHODCALLTYPE clientWidth(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE clientHeight(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE scrollLeft(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setScrollLeft(int);
+    virtual HRESULT STDMETHODCALLTYPE scrollTop(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setScrollTop(int);
+    virtual HRESULT STDMETHODCALLTYPE scrollWidth(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE scrollHeight(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE scrollIntoView(BOOL alignWithTop);
+    virtual HRESULT STDMETHODCALLTYPE scrollIntoViewIfNeeded(BOOL centerIfNeeded);
 
     // DOMElement
     WebCore::Element* element() { return m_element; }
@@ -936,37 +825,37 @@ public:
 
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
+    virtual ULONG STDMETHODCALLTYPE Release() { return DOMObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException(BSTR exceptionMessage, BOOL* result)
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
     {
         return DOMObject::throwException(exceptionMessage, result);
     }
 
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(BSTR name, const VARIANT args[], int cArgs, VARIANT* result)
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
     {
         return DOMObject::callWebScriptMethod(name, args, cArgs, result);
     }
 
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(BSTR script, VARIANT* result)
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
     {
         return DOMObject::evaluateWebScript(script, result);
     }
 
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(BSTR name)
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
     {
         return DOMObject::removeWebScriptKey(name);
     }
 
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(BSTR* stringRepresentation)
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
     {
         return DOMObject::stringRepresentation(stringRepresentation);
     }
 
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, VARIANT* result)
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
     {
         return DOMObject::webScriptValueAtIndex(index, result);
     }
@@ -976,34 +865,34 @@ public:
         return DOMObject::setWebScriptValueAtIndex(index, val);
     }
 
-    virtual HRESULT STDMETHODCALLTYPE setException(BSTR description)
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
     {
         return DOMObject::setException(description);
     }
 
-    virtual HRESULT STDMETHODCALLTYPE startContainer(IDOMNode**);
-    virtual HRESULT STDMETHODCALLTYPE startOffset(int*);
-    virtual HRESULT STDMETHODCALLTYPE endContainer(IDOMNode**);
-    virtual HRESULT STDMETHODCALLTYPE endOffset(int*);
-    virtual HRESULT STDMETHODCALLTYPE collapsed(BOOL*);
-    virtual HRESULT STDMETHODCALLTYPE commonAncestorContainer(IDOMNode**);
-    virtual HRESULT STDMETHODCALLTYPE setStart(IDOMNode*, int offset);
-    virtual HRESULT STDMETHODCALLTYPE setEnd(IDOMNode*, int offset);
-    virtual HRESULT STDMETHODCALLTYPE setStartBefore(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE setStartAfter(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE setEndBefore(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE setEndAfter(IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE startContainer(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE startOffset(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE endContainer(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE endOffset(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE collapsed(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE commonAncestorContainer(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE setStart(_In_opt_ IDOMNode*, int offset);
+    virtual HRESULT STDMETHODCALLTYPE setEnd(_In_opt_ IDOMNode*, int offset);
+    virtual HRESULT STDMETHODCALLTYPE setStartBefore(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE setStartAfter(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE setEndBefore(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE setEndAfter(_In_opt_ IDOMNode*);
     virtual HRESULT STDMETHODCALLTYPE collapse(BOOL);
-    virtual HRESULT STDMETHODCALLTYPE selectNode(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE selectNodeContents(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE compareBoundaryPoints(unsigned short how, IDOMRange* sourceRange);
+    virtual HRESULT STDMETHODCALLTYPE selectNode(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE selectNodeContents(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE compareBoundaryPoints(unsigned short how, _In_opt_ IDOMRange* sourceRange);
     virtual HRESULT STDMETHODCALLTYPE deleteContents();
-    virtual HRESULT STDMETHODCALLTYPE extractContents(IDOMDocumentFragment**);
-    virtual HRESULT STDMETHODCALLTYPE cloneContents(IDOMDocumentFragment**);
-    virtual HRESULT STDMETHODCALLTYPE insertNode(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE surroundContents(IDOMNode* newParent);
-    virtual HRESULT STDMETHODCALLTYPE cloneRange(IDOMRange**);
-    virtual HRESULT STDMETHODCALLTYPE toString(BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE extractContents(_COM_Outptr_opt_ IDOMDocumentFragment**);
+    virtual HRESULT STDMETHODCALLTYPE cloneContents(_COM_Outptr_opt_ IDOMDocumentFragment**);
+    virtual HRESULT STDMETHODCALLTYPE insertNode(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE surroundContents(_In_opt_ IDOMNode* newParent);
+    virtual HRESULT STDMETHODCALLTYPE cloneRange(_COM_Outptr_opt_ IDOMRange**);
+    virtual HRESULT STDMETHODCALLTYPE toString(__deref_opt_out BSTR*);
     virtual HRESULT STDMETHODCALLTYPE detach();
 
 protected:
index ada7b58..01ec21e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 
 // DOMEventListener -----------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMEventListener::QueryInterface(const IID &riid, void** ppvObject)
+HRESULT DOMEventListener::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMEventListener))
         *ppvObject = static_cast<IDOMEventListener*>(this);
     else
@@ -49,8 +51,7 @@ HRESULT STDMETHODCALLTYPE DOMEventListener::QueryInterface(const IID &riid, void
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEventListener::handleEvent( 
-    /* [in] */ IDOMEvent* /*evt*/)
+HRESULT DOMEventListener::handleEvent(_In_opt_ IDOMEvent* /*evt*/)
 {
     return E_NOTIMPL;
 }
@@ -88,7 +89,6 @@ PassRefPtr<WebEventListener> WebEventListener::create(IDOMEventListener* d)
 // DOMEvent -------------------------------------------------------------------
 
 DOMEvent::DOMEvent(PassRefPtr<WebCore::Event> e)
-: m_event(0)
 {
     m_event = e;
 }
@@ -100,10 +100,10 @@ DOMEvent::~DOMEvent()
 IDOMEvent* DOMEvent::createInstance(PassRefPtr<WebCore::Event> e)
 {
     if (!e)
-        return 0;
+        return nullptr;
 
     HRESULT hr;
-    IDOMEvent* domEvent = 0;
+    IDOMEvent* domEvent = nullptr;
 
     if (e->isKeyboardEvent()) {
         DOMKeyboardEvent* newEvent = new DOMKeyboardEvent(e);
@@ -129,14 +129,16 @@ IDOMEvent* DOMEvent::createInstance(PassRefPtr<WebCore::Event> e)
     }
 
     if (FAILED(hr))
-        return 0;
+        return nullptr;
 
     return domEvent;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::QueryInterface(const IID &riid, void** ppvObject)
+HRESULT DOMEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_DOMEvent))
         *ppvObject = this;
     else if (IsEqualGUID(riid, IID_IDOMEvent))
@@ -148,71 +150,82 @@ HRESULT STDMETHODCALLTYPE DOMEvent::QueryInterface(const IID &riid, void** ppvOb
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::type( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMEvent::type(__deref_opt_out BSTR* result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::target( 
-    /* [retval][out] */ IDOMEventTarget** /*result*/)
+HRESULT DOMEvent::target(_COM_Outptr_opt_ IDOMEventTarget** result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::currentTarget( 
-    /* [retval][out] */ IDOMEventTarget** /*result*/)
+HRESULT DOMEvent::currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::eventPhase( 
-    /* [retval][out] */ unsigned short* /*result*/)
+HRESULT DOMEvent::eventPhase(_Out_ unsigned short* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::bubbles( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMEvent::bubbles(_Out_ BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::cancelable( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMEvent::cancelable(_Out_ BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::timeStamp( 
-    /* [retval][out] */ DOMTimeStamp* /*result*/)
+HRESULT DOMEvent::timeStamp(_Out_ DOMTimeStamp* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::stopPropagation( void)
+HRESULT DOMEvent::stopPropagation()
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault( void)
+HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault()
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMEvent::initEvent( 
-    /* [in] */ BSTR /*eventTypeArg*/,
-    /* [in] */ BOOL /*canBubbleArg*/,
-    /* [in] */ BOOL /*cancelableArg*/)
+HRESULT DOMEvent::initEvent(_In_ BSTR /*eventTypeArg*/, BOOL /*canBubbleArg*/, BOOL /*cancelableArg*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
 // DOMUIEvent -----------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMUIEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMUIEvent))
         *ppvObject = static_cast<IDOMUIEvent*>(this);
     else
@@ -222,75 +235,76 @@ HRESULT STDMETHODCALLTYPE DOMUIEvent::QueryInterface(REFIID riid, void** ppvObje
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::view( 
-    /* [retval][out] */ IDOMWindow** /*result*/)
+HRESULT DOMUIEvent::view(_COM_Outptr_opt_ IDOMWindow** result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::detail( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::detail(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::initUIEvent( 
-    /* [in] */ BSTR /*type*/,
-    /* [in] */ BOOL /*canBubble*/,
-    /* [in] */ BOOL /*cancelable*/,
-    /* [in] */ IDOMWindow* /*view*/,
-    /* [in] */ long /*detail*/)
+HRESULT DOMUIEvent::initUIEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/, _In_opt_ IDOMWindow* /*view*/, long /*detail*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::keyCode( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::keyCode(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::charCode( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::charCode(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::unused1(
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::unused1(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::unused2(
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::unused2(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::pageX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::pageX(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::pageY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::pageY(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMUIEvent::which( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMUIEvent::which(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
 // DOMKeyboardEvent -----------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMKeyboardEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMKeyboardEvent))
         *ppvObject = static_cast<IDOMKeyboardEvent*>(this);
     else
@@ -300,27 +314,31 @@ HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::QueryInterface(REFIID riid, void** p
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyIdentifier( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMKeyboardEvent::keyIdentifier(__deref_opt_out BSTR* result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::location(
-    /* [retval][out] */ unsigned long* /*result*/)
+HRESULT DOMKeyboardEvent::location(_Out_ unsigned long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyLocation( 
-    /* [retval][out] */ unsigned long* /*result*/)
+HRESULT DOMKeyboardEvent::keyLocation(_Out_ unsigned long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::ctrlKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMKeyboardEvent::ctrlKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isKeyboardEvent())
         return E_FAIL;
@@ -330,9 +348,10 @@ HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::ctrlKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::shiftKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMKeyboardEvent::shiftKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isKeyboardEvent())
         return E_FAIL;
@@ -342,9 +361,10 @@ HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::shiftKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMKeyboardEvent::altKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isKeyboardEvent())
         return E_FAIL;
@@ -354,9 +374,10 @@ HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::metaKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMKeyboardEvent::metaKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isKeyboardEvent())
         return E_FAIL;
@@ -366,9 +387,10 @@ HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::metaKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altGraphKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMKeyboardEvent::altGraphKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isKeyboardEvent())
         return E_FAIL;
@@ -378,34 +400,27 @@ HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altGraphKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::getModifierState( 
-    /* [in] */ BSTR /*keyIdentifierArg*/,
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMKeyboardEvent::getModifierState(_In_ BSTR /*keyIdentifierArg*/, _Out_ BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::initKeyboardEvent( 
-    /* [in] */ BSTR /*type*/,
-    /* [in] */ BOOL /*canBubble*/,
-    /* [in] */ BOOL /*cancelable*/,
-    /* [in] */ IDOMWindow* /*view*/,
-    /* [in] */ BSTR /*keyIdentifier*/,
-    /* [in] */ unsigned long /*keyLocation*/,
-    /* [in] */ BOOL /*ctrlKey*/,
-    /* [in] */ BOOL /*altKey*/,
-    /* [in] */ BOOL /*shiftKey*/,
-    /* [in] */ BOOL /*metaKey*/,
-    /* [in] */ BOOL /*graphKey*/)
+HRESULT DOMKeyboardEvent::initKeyboardEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/,
+    _In_opt_ IDOMWindow* /*view*/, _In_ BSTR /*keyIdentifier*/, unsigned long /*keyLocation*/,
+    BOOL /*ctrlKey*/, BOOL /*altKey*/, BOOL /*shiftKey*/, BOOL /*metaKey*/, BOOL /*graphKey*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
 // DOMMouseEvent --------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMMouseEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMMouseEvent))
         *ppvObject = static_cast<IDOMMouseEvent*>(this);
     else
@@ -415,33 +430,34 @@ HRESULT STDMETHODCALLTYPE DOMMouseEvent::QueryInterface(REFIID riid, void** ppvO
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::screenX(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::screenY(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::clientX(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::clientY(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::ctrlKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMMouseEvent::ctrlKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isMouseEvent())
         return E_FAIL;
@@ -451,9 +467,10 @@ HRESULT STDMETHODCALLTYPE DOMMouseEvent::ctrlKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::shiftKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMMouseEvent::shiftKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isMouseEvent())
         return E_FAIL;
@@ -463,9 +480,10 @@ HRESULT STDMETHODCALLTYPE DOMMouseEvent::shiftKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::altKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMMouseEvent::altKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isMouseEvent())
         return E_FAIL;
@@ -475,9 +493,10 @@ HRESULT STDMETHODCALLTYPE DOMMouseEvent::altKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::metaKey( 
-    /* [retval][out] */ BOOL* result)
+HRESULT DOMMouseEvent::metaKey(_Out_ BOOL* result)
 {
+    if (!result)
+        return E_POINTER;
     *result = FALSE;
     if (!m_event || !m_event->isMouseEvent())
         return E_FAIL;
@@ -487,79 +506,79 @@ HRESULT STDMETHODCALLTYPE DOMMouseEvent::metaKey(
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::button( 
-    /* [retval][out] */ unsigned short* /*result*/)
+HRESULT DOMMouseEvent::button(_Out_ unsigned short* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::relatedTarget( 
-    /* [retval][out] */ IDOMEventTarget** /*result*/)
+HRESULT DOMMouseEvent::relatedTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::initMouseEvent( 
-    /* [in] */ BSTR /*type*/,
-    /* [in] */ BOOL /*canBubble*/,
-    /* [in] */ BOOL /*cancelable*/,
-    /* [in] */ IDOMWindow* /*view*/,
-    /* [in] */ long /*detail*/,
-    /* [in] */ long /*screenX*/,
-    /* [in] */ long /*screenY*/,
-    /* [in] */ long /*clientX*/,
-    /* [in] */ long /*clientY*/,
-    /* [in] */ BOOL /*ctrlKey*/,
-    /* [in] */ BOOL /*altKey*/,
-    /* [in] */ BOOL /*shiftKey*/,
-    /* [in] */ BOOL /*metaKey*/,
-    /* [in] */ unsigned short /*button*/,
-    /* [in] */ IDOMEventTarget* /*relatedTarget*/)
+HRESULT DOMMouseEvent::initMouseEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/,
+    _In_opt_ IDOMWindow* /*view*/, long /*detail*/, long /*screenX*/, long /*screenY*/, long /*clientX*/, long /*clientY*/,
+    BOOL /*ctrlKey*/, BOOL /*altKey*/, BOOL /*shiftKey*/, BOOL /*metaKey*/, unsigned short /*button*/,
+    _In_opt_ IDOMEventTarget* /*relatedTarget*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::offsetX(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::offsetY(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::x( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::x(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::y( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMMouseEvent::y(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::fromElement( 
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMMouseEvent::fromElement(_COM_Outptr_opt_ IDOMNode** result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::toElement(
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMMouseEvent::toElement(_COM_Outptr_opt_ IDOMNode** result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
 // DOMMutationEvent -----------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMMutationEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMMutationEvent))
         *ppvObject = static_cast<IDOMMutationEvent*>(this);
     else
@@ -569,54 +588,66 @@ HRESULT STDMETHODCALLTYPE DOMMutationEvent::QueryInterface(REFIID riid, void** p
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::relatedNode( 
-    /* [retval][out] */ IDOMNode** /*result*/)
+HRESULT DOMMutationEvent::relatedNode(_COM_Outptr_opt_ IDOMNode** result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::prevValue( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMMutationEvent::prevValue(__deref_opt_out BSTR* result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::newValue( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMMutationEvent::newValue(__deref_opt_out BSTR* result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrName( 
-    /* [retval][out] */ BSTR* /*result*/)
+HRESULT DOMMutationEvent::attrName(__deref_opt_out BSTR* result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrChange( 
-    /* [retval][out] */ unsigned short* /*result*/)
+HRESULT DOMMutationEvent::attrChange(_Out_ unsigned short* result)
 {
+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = 0;
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::initMutationEvent(
-    /* [in] */ BSTR /*type*/,
-    /* [in] */ BOOL /*canBubble*/,
-    /* [in] */ BOOL /*cancelable*/,
-    /* [in] */ IDOMNode* /*relatedNode*/,
-    /* [in] */ BSTR /*prevValue*/,
-    /* [in] */ BSTR /*newValue*/,
-    /* [in] */ BSTR /*attrName*/,
-    /* [in] */ unsigned short /*attrChange*/)
+HRESULT DOMMutationEvent::initMutationEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/,
+    _In_opt_ IDOMNode* /*relatedNode*/, _In_ BSTR /*prevValue*/, _In_ BSTR /*newValue*/, _In_ BSTR /*attrName*/,
+    unsigned short /*attrChange*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
 // DOMOverflowEvent -----------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMOverflowEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMOverflowEvent))
         *ppvObject = static_cast<IDOMOverflowEvent*>(this);
     else
@@ -626,29 +657,31 @@ HRESULT STDMETHODCALLTYPE DOMOverflowEvent::QueryInterface(REFIID riid, void** p
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::orient( 
-    /* [retval][out] */ unsigned short* /*result*/)
+HRESULT DOMOverflowEvent::orient(_Out_ unsigned short* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::horizontalOverflow( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMOverflowEvent::horizontalOverflow(_Out_ BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::verticalOverflow( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMOverflowEvent::verticalOverflow(_Out_ BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
 // DOMWheelEvent --------------------------------------------------------------
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::QueryInterface(REFIID riid, void** ppvObject)
+HRESULT DOMWheelEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
 {
-    *ppvObject = 0;
+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
     if (IsEqualGUID(riid, IID_IDOMWheelEvent))
         *ppvObject = static_cast<IDOMWheelEvent*>(this);
     else
@@ -658,114 +691,106 @@ HRESULT STDMETHODCALLTYPE DOMWheelEvent::QueryInterface(REFIID riid, void** ppvO
     return S_OK;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::screenX(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::screenY(_Out_  long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::clientX(_Out_  long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::clientY(_Out_  long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::ctrlKey( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMWheelEvent::ctrlKey(_Out_  BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::shiftKey( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMWheelEvent::shiftKey(_Out_  BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::altKey( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMWheelEvent::altKey(_Out_  BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::metaKey( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMWheelEvent::metaKey(_Out_  BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDelta( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::wheelDelta(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::wheelDeltaX(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::wheelDeltaY(_Out_  long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetX( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::offsetX(_Out_  long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetY( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::offsetY(_Out_  long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::x( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::x(_Out_  long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::y( 
-    /* [retval][out] */ long* /*result*/)
+HRESULT DOMWheelEvent::y(_Out_ long* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::isHorizontal( 
-    /* [retval][out] */ BOOL* /*result*/)
+HRESULT DOMWheelEvent::isHorizontal(_Out_ BOOL* /*result*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
 
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::initWheelEvent( 
-    /* [in] */ long /*wheelDeltaX*/,
-    /* [in] */ long /*wheelDeltaY*/,
-    /* [in] */ IDOMWindow* /*view*/,
-    /* [in] */ long /*screenX*/,
-    /* [in] */ long /*screenY*/,
-    /* [in] */ long /*clientX*/,
-    /* [in] */ long /*clientY*/,
-    /* [in] */ BOOL /*ctrlKey*/,
-    /* [in] */ BOOL /*altKey*/,
-    /* [in] */ BOOL /*shiftKey*/,
-    /* [in] */ BOOL /*metaKey*/)
+HRESULT DOMWheelEvent::initWheelEvent(long /*wheelDeltaX*/, long /*wheelDeltaY*/,
+    _In_opt_ IDOMWindow* /*view*/, long /*screenX*/, long /*screenY*/, long /*clientX*/, long /*clientY*/,
+    BOOL /*ctrlKey*/, BOOL /*altKey*/, BOOL /*shiftKey*/, BOOL /*metaKey*/)
 {
+    ASSERT_NOT_REACHED();
     return E_NOTIMPL;
 }
index 71c576e..bf292bd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -57,45 +57,53 @@ class DOMEventListener : public DOMObject, public IDOMEventListener
 {
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-    
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-    
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-    
-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMObject::callWebScriptMethod(name, args, cArgs, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
 
     // IDOMEventListener
-    virtual HRESULT STDMETHODCALLTYPE handleEvent( 
-        /* [in] */ IDOMEvent* evt);
+    virtual HRESULT STDMETHODCALLTYPE handleEvent(_In_opt_ IDOMEvent*);
 };
 
 class DOMEvent : public DOMObject, public IDOMEvent
@@ -108,72 +116,62 @@ protected:
 
 public:
     // IUnknown
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
 
     // IWebScriptObject
-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-    
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-    
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-    
-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMObject::callWebScriptMethod(name, args, cArgs, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
+    
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+  &