<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[188662] trunk/Source/WebKit</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/188662">188662</a></dd>
<dt>Author</dt> <dd>bfulgham@apple.com</dd>
<dt>Date</dt> <dd>2015-08-19 17:00:38 -0700 (Wed, 19 Aug 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>[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.

../../win:

Change the many &quot;/*[in]*/&quot; and &quot;/*[out]*/&quot; 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&lt;ContainerType&gt;::QueryInterface):
(COMEnumVariant&lt;ContainerType&gt;::Reset):
(COMEnumVariant&lt;ContainerType&gt;::Clone):
* COMPropertyBag.h:
(COMPropertyBag::COMPropertyBag):
(COMPropertyBag::~COMPropertyBag):
(HashType&gt;::QueryInterface):
(HashType&gt;::Read):
(HashType&gt;::Write):
(HashType&gt;::CountProperties):
(HashType&gt;::GetPropertyInfo):
(HashType&gt;::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:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojInterfacesInterfacesCommonprops">trunk/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitWebKitvcxproj">trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj</a></li>
<li><a href="#trunkSourceWebKitwinAccessibleBasecpp">trunk/Source/WebKit/win/AccessibleBase.cpp</a></li>
<li><a href="#trunkSourceWebKitwinAccessibleBaseh">trunk/Source/WebKit/win/AccessibleBase.h</a></li>
<li><a href="#trunkSourceWebKitwinAccessibleTextImplcpp">trunk/Source/WebKit/win/AccessibleTextImpl.cpp</a></li>
<li><a href="#trunkSourceWebKitwinAccessibleTextImplh">trunk/Source/WebKit/win/AccessibleTextImpl.h</a></li>
<li><a href="#trunkSourceWebKitwinCFDictionaryPropertyBagcpp">trunk/Source/WebKit/win/CFDictionaryPropertyBag.cpp</a></li>
<li><a href="#trunkSourceWebKitwinCFDictionaryPropertyBagh">trunk/Source/WebKit/win/CFDictionaryPropertyBag.h</a></li>
<li><a href="#trunkSourceWebKitwinCOMEnumVarianth">trunk/Source/WebKit/win/COMEnumVariant.h</a></li>
<li><a href="#trunkSourceWebKitwinCOMPropertyBagh">trunk/Source/WebKit/win/COMPropertyBag.h</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinDOMCSSClassescpp">trunk/Source/WebKit/win/DOMCSSClasses.cpp</a></li>
<li><a href="#trunkSourceWebKitwinDOMCSSClassesh">trunk/Source/WebKit/win/DOMCSSClasses.h</a></li>
<li><a href="#trunkSourceWebKitwinDOMCoreClassescpp">trunk/Source/WebKit/win/DOMCoreClasses.cpp</a></li>
<li><a href="#trunkSourceWebKitwinDOMCoreClassesh">trunk/Source/WebKit/win/DOMCoreClasses.h</a></li>
<li><a href="#trunkSourceWebKitwinDOMEventsClassescpp">trunk/Source/WebKit/win/DOMEventsClasses.cpp</a></li>
<li><a href="#trunkSourceWebKitwinDOMEventsClassesh">trunk/Source/WebKit/win/DOMEventsClasses.h</a></li>
<li><a href="#trunkSourceWebKitwinDOMHTMLClassescpp">trunk/Source/WebKit/win/DOMHTMLClasses.cpp</a></li>
<li><a href="#trunkSourceWebKitwinDOMHTMLClassesh">trunk/Source/WebKit/win/DOMHTMLClasses.h</a></li>
<li><a href="#trunkSourceWebKitwinDefaultDownloadDelegatecpp">trunk/Source/WebKit/win/DefaultDownloadDelegate.cpp</a></li>
<li><a href="#trunkSourceWebKitwinDefaultDownloadDelegateh">trunk/Source/WebKit/win/DefaultDownloadDelegate.h</a></li>
<li><a href="#trunkSourceWebKitwinDefaultPolicyDelegatecpp">trunk/Source/WebKit/win/DefaultPolicyDelegate.cpp</a></li>
<li><a href="#trunkSourceWebKitwinDefaultPolicyDelegateh">trunk/Source/WebKit/win/DefaultPolicyDelegate.h</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2Accessible2idl">trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2Accessible2_2idl">trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2AccessibleApplicationidl">trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2AccessibleEditableTextidl">trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleEditableText.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2AccessibleRelationidl">trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2AccessibleStatesidl">trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2AccessibleTextidl">trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesAccessible2AccessibleText2idl">trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText2.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesIWebApplicationCacheidl">trunk/Source/WebKit/win/Interfaces/IWebApplicationCache.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesIWebViewidl">trunk/Source/WebKit/win/Interfaces/IWebView.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesIWebViewPrivateidl">trunk/Source/WebKit/win/Interfaces/IWebViewPrivate.idl</a></li>
<li><a href="#trunkSourceWebKitwinInterfacesWebKitidl">trunk/Source/WebKit/win/Interfaces/WebKit.idl</a></li>
<li><a href="#trunkSourceWebKitwinMemoryStreamcpp">trunk/Source/WebKit/win/MemoryStream.cpp</a></li>
<li><a href="#trunkSourceWebKitwinMemoryStreamh">trunk/Source/WebKit/win/MemoryStream.h</a></li>
<li><a href="#trunkSourceWebKitwinWebActionPropertyBagcpp">trunk/Source/WebKit/win/WebActionPropertyBag.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebActionPropertyBagh">trunk/Source/WebKit/win/WebActionPropertyBag.h</a></li>
<li><a href="#trunkSourceWebKitwinWebApplicationCachecpp">trunk/Source/WebKit/win/WebApplicationCache.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebApplicationCacheh">trunk/Source/WebKit/win/WebApplicationCache.h</a></li>
<li><a href="#trunkSourceWebKitwinWebArchivecpp">trunk/Source/WebKit/win/WebArchive.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebArchiveh">trunk/Source/WebKit/win/WebArchive.h</a></li>
<li><a href="#trunkSourceWebKitwinWebBackForwardListcpp">trunk/Source/WebKit/win/WebBackForwardList.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebBackForwardListh">trunk/Source/WebKit/win/WebBackForwardList.h</a></li>
<li><a href="#trunkSourceWebKitwinWebCachecpp">trunk/Source/WebKit/win/WebCache.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCacheh">trunk/Source/WebKit/win/WebCache.h</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreStatisticscpp">trunk/Source/WebKit/win/WebCoreStatistics.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreStatisticsh">trunk/Source/WebKit/win/WebCoreStatistics.h</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebDesktopNotificationsDelegatecpp">trunk/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebEditorClientcpp">trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebInspectorDelegatecpp">trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebInspectorDelegateh">trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h</a></li>
<li><a href="#trunkSourceWebKitwinWebDataSourcecpp">trunk/Source/WebKit/win/WebDataSource.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebDataSourceh">trunk/Source/WebKit/win/WebDataSource.h</a></li>
<li><a href="#trunkSourceWebKitwinWebDatabaseManagercpp">trunk/Source/WebKit/win/WebDatabaseManager.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebDatabaseManagerh">trunk/Source/WebKit/win/WebDatabaseManager.h</a></li>
<li><a href="#trunkSourceWebKitwinWebDownloadcpp">trunk/Source/WebKit/win/WebDownload.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebDownloadh">trunk/Source/WebKit/win/WebDownload.h</a></li>
<li><a href="#trunkSourceWebKitwinWebDownloadCFNetcpp">trunk/Source/WebKit/win/WebDownloadCFNet.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebDropSourcecpp">trunk/Source/WebKit/win/WebDropSource.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebDropSourceh">trunk/Source/WebKit/win/WebDropSource.h</a></li>
<li><a href="#trunkSourceWebKitwinWebElementPropertyBagcpp">trunk/Source/WebKit/win/WebElementPropertyBag.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebElementPropertyBagh">trunk/Source/WebKit/win/WebElementPropertyBag.h</a></li>
<li><a href="#trunkSourceWebKitwinWebErrorcpp">trunk/Source/WebKit/win/WebError.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebErrorh">trunk/Source/WebKit/win/WebError.h</a></li>
<li><a href="#trunkSourceWebKitwinWebFramecpp">trunk/Source/WebKit/win/WebFrame.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebFrameh">trunk/Source/WebKit/win/WebFrame.h</a></li>
<li><a href="#trunkSourceWebKitwinWebFramePolicyListenercpp">trunk/Source/WebKit/win/WebFramePolicyListener.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebFramePolicyListenerh">trunk/Source/WebKit/win/WebFramePolicyListener.h</a></li>
<li><a href="#trunkSourceWebKitwinWebGeolocationPolicyListenercpp">trunk/Source/WebKit/win/WebGeolocationPolicyListener.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebGeolocationPolicyListenerh">trunk/Source/WebKit/win/WebGeolocationPolicyListener.h</a></li>
<li><a href="#trunkSourceWebKitwinWebGeolocationPositioncpp">trunk/Source/WebKit/win/WebGeolocationPosition.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebGeolocationPositionh">trunk/Source/WebKit/win/WebGeolocationPosition.h</a></li>
<li><a href="#trunkSourceWebKitwinWebHTMLRepresentationcpp">trunk/Source/WebKit/win/WebHTMLRepresentation.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebHTMLRepresentationh">trunk/Source/WebKit/win/WebHTMLRepresentation.h</a></li>
<li><a href="#trunkSourceWebKitwinWebHistorycpp">trunk/Source/WebKit/win/WebHistory.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebHistoryh">trunk/Source/WebKit/win/WebHistory.h</a></li>
<li><a href="#trunkSourceWebKitwinWebHistoryItemcpp">trunk/Source/WebKit/win/WebHistoryItem.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebHistoryItemh">trunk/Source/WebKit/win/WebHistoryItem.h</a></li>
<li><a href="#trunkSourceWebKitwinWebIconDatabasecpp">trunk/Source/WebKit/win/WebIconDatabase.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebIconDatabaseh">trunk/Source/WebKit/win/WebIconDatabase.h</a></li>
<li><a href="#trunkSourceWebKitwinWebInspectorcpp">trunk/Source/WebKit/win/WebInspector.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebInspectorh">trunk/Source/WebKit/win/WebInspector.h</a></li>
<li><a href="#trunkSourceWebKitwinWebJavaScriptCollectorcpp">trunk/Source/WebKit/win/WebJavaScriptCollector.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebJavaScriptCollectorh">trunk/Source/WebKit/win/WebJavaScriptCollector.h</a></li>
<li><a href="#trunkSourceWebKitwinWebKitCOMAPIcpp">trunk/Source/WebKit/win/WebKitCOMAPI.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebKitCOMAPIh">trunk/Source/WebKit/win/WebKitCOMAPI.h</a></li>
<li><a href="#trunkSourceWebKitwinWebKitClassFactorycpp">trunk/Source/WebKit/win/WebKitClassFactory.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebKitClassFactoryh">trunk/Source/WebKit/win/WebKitClassFactory.h</a></li>
<li><a href="#trunkSourceWebKitwinWebKitDLLcpp">trunk/Source/WebKit/win/WebKitDLL.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebKitMessageLoopcpp">trunk/Source/WebKit/win/WebKitMessageLoop.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebKitMessageLooph">trunk/Source/WebKit/win/WebKitMessageLoop.h</a></li>
<li><a href="#trunkSourceWebKitwinWebKitStatisticscpp">trunk/Source/WebKit/win/WebKitStatistics.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebKitStatisticsh">trunk/Source/WebKit/win/WebKitStatistics.h</a></li>
<li><a href="#trunkSourceWebKitwinWebMutableURLRequestcpp">trunk/Source/WebKit/win/WebMutableURLRequest.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebMutableURLRequesth">trunk/Source/WebKit/win/WebMutableURLRequest.h</a></li>
<li><a href="#trunkSourceWebKitwinWebNavigationDatacpp">trunk/Source/WebKit/win/WebNavigationData.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebNavigationDatah">trunk/Source/WebKit/win/WebNavigationData.h</a></li>
<li><a href="#trunkSourceWebKitwinWebNotificationcpp">trunk/Source/WebKit/win/WebNotification.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebNotificationh">trunk/Source/WebKit/win/WebNotification.h</a></li>
<li><a href="#trunkSourceWebKitwinWebNotificationCentercpp">trunk/Source/WebKit/win/WebNotificationCenter.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebNotificationCenterh">trunk/Source/WebKit/win/WebNotificationCenter.h</a></li>
<li><a href="#trunkSourceWebKitwinWebPreferencescpp">trunk/Source/WebKit/win/WebPreferences.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebPreferencesh">trunk/Source/WebKit/win/WebPreferences.h</a></li>
<li><a href="#trunkSourceWebKitwinWebResourcecpp">trunk/Source/WebKit/win/WebResource.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebResourceh">trunk/Source/WebKit/win/WebResource.h</a></li>
<li><a href="#trunkSourceWebKitwinWebScriptObjectcpp">trunk/Source/WebKit/win/WebScriptObject.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebScriptObjecth">trunk/Source/WebKit/win/WebScriptObject.h</a></li>
<li><a href="#trunkSourceWebKitwinWebScriptWorldcpp">trunk/Source/WebKit/win/WebScriptWorld.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebScriptWorldh">trunk/Source/WebKit/win/WebScriptWorld.h</a></li>
<li><a href="#trunkSourceWebKitwinWebSecurityOrigincpp">trunk/Source/WebKit/win/WebSecurityOrigin.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebSecurityOriginh">trunk/Source/WebKit/win/WebSecurityOrigin.h</a></li>
<li><a href="#trunkSourceWebKitwinWebSerializedJSValuecpp">trunk/Source/WebKit/win/WebSerializedJSValue.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebSerializedJSValueh">trunk/Source/WebKit/win/WebSerializedJSValue.h</a></li>
<li><a href="#trunkSourceWebKitwinWebTextRenderercpp">trunk/Source/WebKit/win/WebTextRenderer.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebTextRendererh">trunk/Source/WebKit/win/WebTextRenderer.h</a></li>
<li><a href="#trunkSourceWebKitwinWebURLAuthenticationChallengecpp">trunk/Source/WebKit/win/WebURLAuthenticationChallenge.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebURLAuthenticationChallengeh">trunk/Source/WebKit/win/WebURLAuthenticationChallenge.h</a></li>
<li><a href="#trunkSourceWebKitwinWebURLAuthenticationChallengeSendercpp">trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebURLAuthenticationChallengeSenderh">trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.h</a></li>
<li><a href="#trunkSourceWebKitwinWebURLAuthenticationChallengeSenderCFNetcpp">trunk/Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebURLCredentialcpp">trunk/Source/WebKit/win/WebURLCredential.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebURLCredentialh">trunk/Source/WebKit/win/WebURLCredential.h</a></li>
<li><a href="#trunkSourceWebKitwinWebURLProtectionSpacecpp">trunk/Source/WebKit/win/WebURLProtectionSpace.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebURLProtectionSpaceh">trunk/Source/WebKit/win/WebURLProtectionSpace.h</a></li>
<li><a href="#trunkSourceWebKitwinWebURLResponsecpp">trunk/Source/WebKit/win/WebURLResponse.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebURLResponseh">trunk/Source/WebKit/win/WebURLResponse.h</a></li>
<li><a href="#trunkSourceWebKitwinWebUserContentURLPatterncpp">trunk/Source/WebKit/win/WebUserContentURLPattern.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebUserContentURLPatternh">trunk/Source/WebKit/win/WebUserContentURLPattern.h</a></li>
<li><a href="#trunkSourceWebKitwinWebViewcpp">trunk/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebViewh">trunk/Source/WebKit/win/WebView.h</a></li>
<li><a href="#trunkSourceWebKitwinWebWorkersPrivatecpp">trunk/Source/WebKit/win/WebWorkersPrivate.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebWorkersPrivateh">trunk/Source/WebKit/win/WebWorkersPrivate.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/ChangeLog        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-08-19  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        [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.
+
</ins><span class="cx"> 2015-08-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Replace all remaining uses of WTF::Mutex with WTF::Lock
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojInterfacesInterfacesCommonprops"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -22,6 +22,14 @@
</span><span class="cx">       &lt;DllDataFileName&gt;dlldata.c&lt;/DllDataFileName&gt;
</span><span class="cx">       &lt;TypeLibraryName&gt;$(ConfigurationBuildDir)\lib$(PlatformArchitecture)\WebKit.tlb&lt;/TypeLibraryName&gt;
</span><span class="cx">       &lt;ValidateAllParameters&gt;true&lt;/ValidateAllParameters&gt;
</span><ins>+      &lt;EnableErrorChecks&gt;All&lt;/EnableErrorChecks&gt;
+      &lt;ErrorCheckAllocations&gt;true&lt;/ErrorCheckAllocations&gt;
+      &lt;ErrorCheckBounds&gt;true&lt;/ErrorCheckBounds&gt;
+      &lt;ErrorCheckEnumRange&gt;true&lt;/ErrorCheckEnumRange&gt;
+      &lt;ErrorCheckRefPointers&gt;true&lt;/ErrorCheckRefPointers&gt;
+      &lt;ErrorCheckStubData&gt;true&lt;/ErrorCheckStubData&gt;
+      &lt;WarnAsError&gt;false&lt;/WarnAsError&gt;
+      &lt;AdditionalOptions&gt;/sal %(AdditionalOptions)&lt;/AdditionalOptions&gt;
</ins><span class="cx">     &lt;/Midl&gt;
</span><span class="cx">   &lt;/ItemDefinitionGroup&gt;
</span><span class="cx">   &lt;ItemGroup /&gt;
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitWebKitvcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -176,6 +176,10 @@
</span><span class="cx">   &lt;PropertyGroup&gt;
</span><span class="cx">     &lt;_ProjectFileVersion&gt;10.0.40219.1&lt;/_ProjectFileVersion&gt;
</span><span class="cx">   &lt;/PropertyGroup&gt;
</span><ins>+  &lt;PropertyGroup Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;
+    &lt;CodeAnalysisRuleSet&gt;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\NativeRecommendedRules.ruleset&lt;/CodeAnalysisRuleSet&gt;
+    &lt;RunCodeAnalysis&gt;false&lt;/RunCodeAnalysis&gt;
+  &lt;/PropertyGroup&gt;
</ins><span class="cx">   &lt;ItemDefinitionGroup Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;
</span><span class="cx">     &lt;ClCompile /&gt;
</span><span class="cx">     &lt;ClCompile /&gt;
</span><span class="lines">@@ -290,6 +294,9 @@
</span><span class="cx">     &lt;Link&gt;
</span><span class="cx">       &lt;EnableCOMDATFolding&gt;false&lt;/EnableCOMDATFolding&gt;
</span><span class="cx">     &lt;/Link&gt;
</span><ins>+    &lt;ClCompile&gt;
+      &lt;EnablePREfast&gt;false&lt;/EnablePREfast&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">   &lt;/ItemDefinitionGroup&gt;
</span><span class="cx">   &lt;ItemDefinitionGroup Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;
</span><span class="cx">     &lt;Link&gt;
</span><span class="lines">@@ -638,4 +645,4 @@
</span><span class="cx">   &lt;ImportGroup Label=&quot;ExtensionTargets&quot;&gt;
</span><span class="cx">     &lt;Import Project=&quot;$(VCTargetsPath)\BuildCustomizations\masm.targets&quot; /&gt;
</span><span class="cx">   &lt;/ImportGroup&gt;
</span><del>-&lt;/Project&gt;
</del><ins>+&lt;/Project&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkSourceWebKitwinAccessibleBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/AccessibleBase.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/AccessibleBase.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/AccessibleBase.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008, 2009, 2010, 2013 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008-2010, 2013, 2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  * Copyright (C) 2012 Serotek Corporation. All Rights Reserved.
</span><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="lines">@@ -58,7 +58,6 @@
</span><span class="cx"> AccessibleBase::AccessibleBase(AccessibilityObject* obj, HWND window)
</span><span class="cx">     : AccessibilityObjectWrapper(obj)
</span><span class="cx">     , m_window(window)
</span><del>-    , m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(obj, obj);
</span><span class="cx">     m_object-&gt;setWrapper(this);
</span><span class="lines">@@ -84,7 +83,7 @@
</span><span class="cx">     return new AccessibleBase(obj, window);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
</del><ins>+HRESULT AccessibleBase::QueryService(_In_ REFGUID guidService, _In_ REFIID riid, _COM_Outptr_ void **ppvObject)
</ins><span class="cx"> {
</span><span class="cx">     if (!IsEqualGUID(guidService, SID_AccessibleComparable)
</span><span class="cx">         &amp;&amp; !IsEqualGUID(guidService, IID_IAccessible2_2)
</span><span class="lines">@@ -94,15 +93,17 @@
</span><span class="cx">         &amp;&amp; !IsEqualGUID(guidService, IID_IAccessibleText)
</span><span class="cx">         &amp;&amp; !IsEqualGUID(guidService, IID_IAccessibleText2)
</span><span class="cx">         &amp;&amp; !IsEqualGUID(guidService, IID_IAccessibleEditableText)) {
</span><del>-        *ppvObject = 0;
</del><ins>+        *ppvObject = nullptr;
</ins><span class="cx">         return E_INVALIDARG;
</span><span class="cx">     }
</span><span class="cx">     return QueryInterface(riid, ppvObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT AccessibleBase::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><ins>+    if (!ppvObject)
+        return E_POINTER;
</ins><span class="cx">     if (IsEqualGUID(riid, __uuidof(IAccessible)))
</span><span class="cx">         *ppvObject = static_cast&lt;IAccessible*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(IDispatch)))
</span><span class="lines">@@ -120,14 +121,14 @@
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(AccessibleBase)))
</span><span class="cx">         *ppvObject = static_cast&lt;AccessibleBase*&gt;(this);
</span><span class="cx">     else {
</span><del>-        *ppvObject = 0;
</del><ins>+        *ppvObject = nullptr;
</ins><span class="cx">         return E_NOINTERFACE;
</span><span class="cx">     }
</span><span class="cx">     AddRef();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE AccessibleBase::Release(void)
</del><ins>+ULONG AccessibleBase::Release()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_refCount &gt; 0);
</span><span class="cx">     if (--m_refCount)
</span><span class="lines">@@ -137,7 +138,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IAccessible2_2
</span><del>-HRESULT AccessibleBase::get_attribute(BSTR key, VARIANT* value)
</del><ins>+HRESULT AccessibleBase::get_attribute(_In_ BSTR key, _Out_ VARIANT* value)
</ins><span class="cx"> {
</span><span class="cx">     if (!value)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -149,20 +150,24 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_accessibleWithCaret(IUnknown** accessible, long* caretOffset)
</del><ins>+HRESULT AccessibleBase::get_accessibleWithCaret(_COM_Outptr_opt_ IUnknown** accessible, _Out_ long* caretOffset)
</ins><span class="cx"> {
</span><ins>+    if (!accessible || !caretOffset)
+        return E_POINTER;
+    *accessible = nullptr;
+    *caretOffset = 0;
</ins><span class="cx">     notImplemented();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_relationTargetsOfType(BSTR type, long maxTargets, IUnknown*** targets, long* nTargets)
</del><ins>+HRESULT AccessibleBase::get_relationTargetsOfType(_In_ BSTR type, long maxTargets, __deref_out_ecount_full_opt(*nTargets) IUnknown*** targets, _Out_ long* nTargets)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IAccessible2
</span><del>-HRESULT AccessibleBase::get_nRelations(long* nRelations)
</del><ins>+HRESULT AccessibleBase::get_nRelations(_Out_ long* nRelations)
</ins><span class="cx"> {
</span><span class="cx">     if (!nRelations)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -174,29 +179,33 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_relation(long relationIndex, IAccessibleRelation** relation)
</del><ins>+HRESULT AccessibleBase::get_relation(long relationIndex, _COM_Outptr_opt_ IAccessibleRelation** relation)
</ins><span class="cx"> {
</span><span class="cx">     if (!relation)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><ins>+    *relation = nullptr;
+
</ins><span class="cx">     notImplemented();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_relations(long maxRelations, IAccessibleRelation** relations, long* nRelations)
</del><ins>+HRESULT AccessibleBase::get_relations(long maxRelations, __out_ecount_part(maxRelations, *nRelations)  IAccessibleRelation** relations, _Out_ long* nRelations)
</ins><span class="cx"> {
</span><span class="cx">     if (!relations || !nRelations)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><ins>+    *relations = nullptr;
+
</ins><span class="cx">     notImplemented();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::role(long* role)
</del><ins>+HRESULT AccessibleBase::role(_Out_ long* role)
</ins><span class="cx"> {
</span><span class="cx">     if (!role)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *role = 0;
</ins><span class="cx">     if (!m_object)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -218,13 +227,13 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_groupPosition(long* groupLevel, long* similarItemsInGroup, long* positionInGroup)
</del><ins>+HRESULT AccessibleBase::get_groupPosition(_Out_ long* groupLevel, _Out_ long* similarItemsInGroup, _Out_ long* positionInGroup)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_states(AccessibleStates* states)
</del><ins>+HRESULT AccessibleBase::get_states(_Out_ AccessibleStates* states)
</ins><span class="cx"> {
</span><span class="cx">     if (!states)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -237,11 +246,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_extendedRole(BSTR* extendedRole)
</del><ins>+HRESULT AccessibleBase::get_extendedRole(__deref_opt_out BSTR* extendedRole)
</ins><span class="cx"> {
</span><span class="cx">     if (!extendedRole)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *extendedRole = nullptr;
</ins><span class="cx">     if (!m_object)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -249,11 +258,11 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_localizedExtendedRole(BSTR* localizedExtendedRole)
</del><ins>+HRESULT AccessibleBase::get_localizedExtendedRole(__deref_opt_out BSTR* localizedExtendedRole)
</ins><span class="cx"> {
</span><span class="cx">     if (!localizedExtendedRole)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *localizedExtendedRole = nullptr;
</ins><span class="cx">     if (!m_object)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -261,7 +270,7 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_nExtendedStates(long* nExtendedStates)
</del><ins>+HRESULT AccessibleBase::get_nExtendedStates(_Out_ long* nExtendedStates)
</ins><span class="cx"> {
</span><span class="cx">     if (!nExtendedStates)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -274,19 +283,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_extendedStates(long maxExtendedStates, BSTR** extendedStates, long* nExtendedStates)
</del><ins>+HRESULT AccessibleBase::get_extendedStates(long maxExtendedStates, __deref_out_ecount_part_opt(maxExtendedStates, *nExtendedStates) BSTR** extendedStates, _Out_ long* nExtendedStates)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_localizedExtendedStates(long maxLocalizedExtendedStates, BSTR** localizedExtendedStates, long* nLocalizedExtendedStates)
</del><ins>+HRESULT AccessibleBase::get_localizedExtendedStates(long maxLocalizedExtendedStates, __deref_out_ecount_part_opt(maxLocalizedExtendedStates, *nLocalizedExtendedStates) BSTR** localizedExtendedStates, _Out_ long* nLocalizedExtendedStates)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_uniqueID(long* uniqueID)
</del><ins>+HRESULT AccessibleBase::get_uniqueID(_Out_ long* uniqueID)
</ins><span class="cx"> {
</span><span class="cx">     if (!uniqueID)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -298,18 +307,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_windowHandle(HWND* windowHandle)
</del><ins>+HRESULT AccessibleBase::get_windowHandle(_Out_ HWND* windowHandle)
</ins><span class="cx"> {
</span><span class="cx">     *windowHandle = m_window;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_indexInParent(long* indexInParent)
</del><ins>+HRESULT AccessibleBase::get_indexInParent(_Out_ long* indexInParent)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_locale(IA2Locale* locale)
</del><ins>+HRESULT AccessibleBase::get_locale(_Out_ IA2Locale* locale)
</ins><span class="cx"> {
</span><span class="cx">     if (!locale)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -322,19 +331,26 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_attributes(BSTR* attributes)
</del><ins>+HRESULT AccessibleBase::get_attributes(__deref_opt_out BSTR* attributes)
</ins><span class="cx"> {
</span><ins>+    if (!attributes)
+        return E_POINTER;
+    *attributes = nullptr;
</ins><span class="cx">     if (!m_object)
</span><span class="cx">         return E_FAIL;
</span><ins>+
</ins><span class="cx">     notImplemented();
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IAccessible
</span><del>-HRESULT AccessibleBase::get_accParent(IDispatch** parent)
</del><ins>+HRESULT AccessibleBase::get_accParent(_COM_Outptr_opt_ IDispatch** parent)
</ins><span class="cx"> {
</span><del>-    *parent = 0;
</del><ins>+    if (!parent)
+        return E_POINTER;
</ins><span class="cx"> 
</span><ins>+    *parent = nullptr;
+
</ins><span class="cx">     if (!m_object)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -352,7 +368,7 @@
</span><span class="cx">         OBJID_WINDOW, __uuidof(IAccessible), reinterpret_cast&lt;void**&gt;(parent));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChildCount(long* count)
</del><ins>+HRESULT AccessibleBase::get_accChildCount(_Out_ long* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_object)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -362,12 +378,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChild(VARIANT vChild, IDispatch** ppChild)
</del><ins>+HRESULT AccessibleBase::get_accChild(VARIANT vChild, _COM_Outptr_opt_ IDispatch** ppChild)
</ins><span class="cx"> {
</span><span class="cx">     if (!ppChild)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *ppChild = 0;
</del><ins>+    *ppChild = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx"> 
</span><span class="lines">@@ -380,12 +396,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accName(VARIANT vChild, BSTR* name)
</del><ins>+HRESULT AccessibleBase::get_accName(VARIANT vChild, __deref_opt_out BSTR* name)
</ins><span class="cx"> {
</span><span class="cx">     if (!name)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *name = 0;
</del><ins>+    *name = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx">     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
</span><span class="lines">@@ -398,12 +414,12 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accValue(VARIANT vChild, BSTR* value)
</del><ins>+HRESULT AccessibleBase::get_accValue(VARIANT vChild, __deref_opt_out BSTR* value)
</ins><span class="cx"> {
</span><span class="cx">     if (!value)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *value = 0;
</del><ins>+    *value = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx">     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
</span><span class="lines">@@ -416,12 +432,12 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDescription(VARIANT vChild, BSTR* description)
</del><ins>+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDescription(VARIANT vChild, __deref_opt_out BSTR* description)
</ins><span class="cx"> {
</span><span class="cx">     if (!description)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *description = 0;
</del><ins>+    *description = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx">     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
</span><span class="lines">@@ -435,7 +451,7 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accRole(VARIANT vChild, VARIANT* pvRole)
</del><ins>+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accRole(VARIANT vChild, _Out_ VARIANT* pvRole)
</ins><span class="cx"> {
</span><span class="cx">     if (!pvRole)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -524,7 +540,7 @@
</span><span class="cx">     return state;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::get_accState(VARIANT vChild, VARIANT* pvState)
</del><ins>+HRESULT AccessibleBase::get_accState(VARIANT vChild, _Out_ VARIANT* pvState)
</ins><span class="cx"> {
</span><span class="cx">     if (!pvState)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -543,12 +559,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accHelp(VARIANT vChild, BSTR* helpText)
</del><ins>+HRESULT AccessibleBase::get_accHelp(VARIANT vChild, __deref_opt_out BSTR* helpText)
</ins><span class="cx"> {
</span><span class="cx">     if (!helpText)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *helpText = 0;
</del><ins>+    *helpText = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx">     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
</span><span class="lines">@@ -561,12 +577,12 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accKeyboardShortcut(VARIANT vChild, BSTR* shortcut)
</del><ins>+HRESULT AccessibleBase::get_accKeyboardShortcut(VARIANT vChild, __deref_opt_out BSTR* shortcut)
</ins><span class="cx"> {
</span><span class="cx">     if (!shortcut)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *shortcut = 0;
</del><ins>+    *shortcut = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx">     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
</span><span class="lines">@@ -653,12 +669,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accSelection(VARIANT*)
</del><ins>+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accSelection(_Out_ VARIANT*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accFocus(VARIANT* pvFocusedChild)
</del><ins>+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accFocus(_Out_ VARIANT* pvFocusedChild)
</ins><span class="cx"> {
</span><span class="cx">     if (!pvFocusedChild)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -684,12 +700,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDefaultAction(VARIANT vChild, BSTR* action)
</del><ins>+HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDefaultAction(VARIANT vChild, __deref_opt_out BSTR* action)
</ins><span class="cx"> {
</span><span class="cx">     if (!action)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *action = 0;
</del><ins>+    *action = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx">     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
</span><span class="lines">@@ -702,7 +718,7 @@
</span><span class="cx">     return S_FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::accLocation(long* left, long* top, long* width, long* height, VARIANT vChild)
</del><ins>+HRESULT AccessibleBase::accLocation(_Out_ long* left, _Out_ long* top, _Out_ long* width, _Out_ long* height, VARIANT vChild)
</ins><span class="cx"> {
</span><span class="cx">     if (!left || !top || !width || !height)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -726,14 +742,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::accNavigate(long direction, VARIANT vFromChild, VARIANT* pvNavigatedTo)
</del><ins>+HRESULT AccessibleBase::accNavigate(long direction, VARIANT vFromChild, _Out_ VARIANT* pvNavigatedTo)
</ins><span class="cx"> {
</span><span class="cx">     if (!pvNavigatedTo)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     ::VariantInit(pvNavigatedTo);
</span><span class="cx"> 
</span><del>-    AccessibilityObject* childObj = 0;
</del><ins>+    AccessibilityObject* childObj = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     switch (direction) {
</span><span class="cx">         case NAVDIR_DOWN:
</span><span class="lines">@@ -783,7 +799,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::accHitTest(long x, long y, VARIANT* pvChildAtPoint)
</del><ins>+HRESULT AccessibleBase::accHitTest(long x, long y, _Out_ VARIANT* pvChildAtPoint)
</ins><span class="cx"> {
</span><span class="cx">     if (!pvChildAtPoint)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -815,7 +831,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleBase::accDoDefaultAction(VARIANT vChild)
</del><ins>+HRESULT AccessibleBase::accDoDefaultAction(VARIANT vChild)
</ins><span class="cx"> {
</span><span class="cx">     AccessibilityObject* childObj;
</span><span class="cx">     HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
</span><span class="lines">@@ -1039,8 +1055,11 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT AccessibleBase::isSameObject(IAccessibleComparable* other, BOOL* result)
</del><ins>+HRESULT AccessibleBase::isSameObject(_In_opt_ IAccessibleComparable* other, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result || !other)
+        return E_POINTER;
+
</ins><span class="cx">     COMPtr&lt;AccessibleBase&gt; otherAccessibleBase(Query, other);
</span><span class="cx">     *result = (otherAccessibleBase == this || otherAccessibleBase-&gt;m_object == m_object);
</span><span class="cx">     return S_OK;
</span></span></pre></div>
<a id="trunkSourceWebKitwinAccessibleBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/AccessibleBase.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/AccessibleBase.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/AccessibleBase.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008, 2009, 2010, 2013 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008-2010, 2013, 2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,90 +38,98 @@
</span><span class="cx">     static AccessibleBase* createInstance(WebCore::AccessibilityObject*, HWND);
</span><span class="cx"> 
</span><span class="cx">     // IServiceProvider
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppv);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryService(_In_ REFGUID guidService, _In_ REFIID riid, _COM_Outptr_ void **ppv);
</ins><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++m_refCount; }
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return ++m_refCount; }
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IAccessible2_2
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx"> 
</span><span class="cx">     // IAccessible2
</span><del>-    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*);
</del><ins>+    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*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE scrollTo(IA2ScrollType);
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE scrollToPoint(IA2CoordinateType, long x, long y);
</span><del>-    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*);
</del><ins>+    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*);
</ins><span class="cx"> 
</span><span class="cx">     // IAccessible
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE accSelect(long selectionFlags, VARIANT vChild);
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE accDoDefaultAction(VARIANT vChild);
</span><span class="cx"> 
</span><span class="cx">     // IAccessible - Not to be implemented.
</span><del>-    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)
</del><ins>+    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)
</ins><span class="cx">     {
</span><del>-        *helpFile = 0;
</del><ins>+        if (!helpFile || !topicID)
+            return E_POINTER;
+
+        *helpFile = nullptr;
</ins><span class="cx">         *topicID = 0;
</span><span class="cx">         return E_NOTIMPL;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // IDispatch - Not to be implemented.
</span><del>-    virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT* count)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(_Out_ UINT* count)
</ins><span class="cx">     {
</span><ins>+        if (!count)
+            return E_POINTER;
</ins><span class="cx">         *count = 0;
</span><span class="cx">         return E_NOTIMPL;
</span><span class="cx">     }
</span><del>-    virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT, LCID, ITypeInfo** ppTInfo)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT, LCID, __deref_out_opt ITypeInfo** ppTInfo)
</ins><span class="cx">     {
</span><del>-        *ppTInfo = 0;
</del><ins>+        if (!ppTInfo)
+            return E_POINTER;
+        *ppTInfo = nullptr;
</ins><span class="cx">         return E_NOTIMPL;
</span><span class="cx">     }
</span><del>-    virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID, LPOLESTR*, UINT, LCID, DISPID*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(_In_ REFIID, LPOLESTR*, UINT, LCID, DISPID*) { return E_NOTIMPL; }
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*) { return E_NOTIMPL; }
</span><span class="cx"> 
</span><span class="cx">     // WebCore::AccessibilityObjectWrapper
</span><del>-    virtual void detach() {
</del><ins>+    virtual void detach()
+    {
</ins><span class="cx">         ASSERT(m_object);
</span><del>-        m_object = 0;
</del><ins>+        m_object = nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // IAccessibleComparable
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameObject(IAccessibleComparable* other, BOOL* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameObject(_In_opt_ IAccessibleComparable* other, _Out_ BOOL* result);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     AccessibleBase(WebCore::AccessibilityObject*, HWND);
</span><span class="lines">@@ -137,7 +145,7 @@
</span><span class="cx">     AccessibleBase* wrapper(WebCore::AccessibilityObject*) const;
</span><span class="cx"> 
</span><span class="cx">     HWND m_window;
</span><del>-    int m_refCount;
</del><ins>+    int m_refCount { 0 };
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     AccessibleBase() { }
</span></span></pre></div>
<a id="trunkSourceWebKitwinAccessibleTextImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/AccessibleTextImpl.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/AccessibleTextImpl.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/AccessibleTextImpl.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -678,8 +678,10 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown
</span><del>-HRESULT STDMETHODCALLTYPE AccessibleText::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT AccessibleText::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><ins>+    if (!ppvObject)
+        return E_POINTER;
</ins><span class="cx">     if (IsEqualGUID(riid, __uuidof(IAccessibleText)))
</span><span class="cx">         *ppvObject = static_cast&lt;IAccessibleText*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(IAccessibleEditableText)))
</span><span class="lines">@@ -701,7 +703,7 @@
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(AccessibleBase)))
</span><span class="cx">         *ppvObject = static_cast&lt;AccessibleBase*&gt;(this);
</span><span class="cx">     else {
</span><del>-        *ppvObject = 0;
</del><ins>+        *ppvObject = nullptr;
</ins><span class="cx">         return E_NOINTERFACE;
</span><span class="cx">     }
</span><span class="cx">     AddRef();
</span></span></pre></div>
<a id="trunkSourceWebKitwinAccessibleTextImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/AccessibleTextImpl.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/AccessibleTextImpl.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/AccessibleTextImpl.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -68,9 +68,9 @@
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setAttributes(long startOffset, long endOffset, BSTR* attributes);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++m_refCount; }
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return ++m_refCount; }
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IAccessibleBase
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE get_attributes(BSTR* attributes);
</span></span></pre></div>
<a id="trunkSourceWebKitwinCFDictionaryPropertyBagcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/CFDictionaryPropertyBag.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/CFDictionaryPropertyBag.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/CFDictionaryPropertyBag.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> // CFDictionaryPropertyBag -----------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> CFDictionaryPropertyBag::CFDictionaryPropertyBag()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;CFDictionaryPropertyBag&quot;);
</span><span class="lines">@@ -61,9 +60,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT CFDictionaryPropertyBag::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IPropertyBag*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IPropertyBag))
</span><span class="lines">@@ -77,7 +78,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE CFDictionaryPropertyBag::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE CFDictionaryPropertyBag::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="lines">@@ -172,7 +173,7 @@
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
</del><ins>+HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar)
</ins><span class="cx"> {
</span><span class="cx">     if (!pszPropName || !pVar)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinCFDictionaryPropertyBagh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/CFDictionaryPropertyBag.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/CFDictionaryPropertyBag.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/CFDictionaryPropertyBag.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2009, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -47,14 +47,14 @@
</span><span class="cx">     CFDictionaryPropertyBag();
</span><span class="cx">     ~CFDictionaryPropertyBag();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void** ppvObject);
</ins><span class="cx"> 
</span><span class="cx">     // IPropertyBag
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT*, IErrorLog*);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE Write(_In_ LPCOLESTR pszPropName, _In_  VARIANT*);
</ins><span class="cx"> 
</span><span class="cx">     RetainPtr&lt;CFMutableDictionaryRef&gt; m_dictionary;
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // CFDictionaryPropertyBag_h
</span></span></pre></div>
<a id="trunkSourceWebKitwinCOMEnumVarianth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/COMEnumVariant.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/COMEnumVariant.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/COMEnumVariant.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx">     static COMEnumVariant* createInstance(const ContainerType&amp;);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="lines">@@ -50,24 +50,22 @@
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched);
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt);
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE Reset();
</span><del>-    virtual HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT** ppEnum);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE Clone(_COM_Outptr_opt_ IEnumVARIANT** ppEnum);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     COMEnumVariant()
</span><del>-        : m_refCount(0)
</del><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     COMEnumVariant(const ContainerType&amp; container)
</span><del>-        : m_refCount(0)
-        , m_container(container)       
</del><ins>+        : m_container(container)       
</ins><span class="cx">         , m_currentPos(m_container.begin())
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ~COMEnumVariant() {}
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> 
</span><span class="cx">     ContainerType m_container;
</span><span class="cx">     typename ContainerType::const_iterator m_currentPos;
</span><span class="lines">@@ -94,9 +92,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown ------------------------------------------------------------------------
</span><span class="cx"> template&lt;typename ContainerType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMEnumVariant&lt;ContainerType&gt;::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT STDMETHODCALLTYPE COMEnumVariant&lt;ContainerType&gt;::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;COMEnumVariant*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IEnumVARIANT))
</span><span class="lines">@@ -168,12 +168,12 @@
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="cx"> template&lt;typename ContainerType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMEnumVariant&lt;ContainerType&gt;::Clone(IEnumVARIANT** ppEnum)
</del><ins>+HRESULT STDMETHODCALLTYPE COMEnumVariant&lt;ContainerType&gt;::Clone(_COM_Outptr_opt_ IEnumVARIANT** ppEnum)
</ins><span class="cx"> {
</span><span class="cx">     if (!ppEnum)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *ppEnum = 0;
</del><ins>+    *ppEnum = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinCOMPropertyBagh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/COMPropertyBag.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/COMPropertyBag.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/COMPropertyBag.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -47,36 +47,34 @@
</span><span class="cx">     static COMPropertyBag* adopt(HashMapType&amp;);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="cx">     // IPropertyBag
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT*, IErrorLog*);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT*);
</ins><span class="cx"> 
</span><span class="cx">     // IPropertyBag2
</span><del>-    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*);
</del><ins>+    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*);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     COMPropertyBag()
</span><del>-        : m_refCount(0)
</del><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     COMPropertyBag(const HashMapType&amp; hashMap)
</span><del>-        : m_refCount(0)
-        , m_hashMap(hashMap)
</del><ins>+        : m_hashMap(hashMap)
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ~COMPropertyBag() {}
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     HashMapType m_hashMap;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -100,9 +98,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown ------------------------------------------------------------------------
</span><span class="cx"> template&lt;typename ValueType, typename KeyType, typename HashType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IPropertyBag*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IPropertyBag))
</span><span class="lines">@@ -156,13 +156,13 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ValueType, typename KeyType, typename HashType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::Write(LPCOLESTR pszPropName, VARIANT* pVar)
</del><ins>+HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar)
</ins><span class="cx"> {
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ValueType, typename KeyType, typename HashType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::Read(ULONG cProperties, PROPBAG2* pPropBag, IErrorLog* pErrorLog, VARIANT* pvarValue, HRESULT* phrError)
</del><ins>+HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::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)
</ins><span class="cx"> {
</span><span class="cx">     if (!pPropBag || !pvarValue || !phrError)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -181,13 +181,13 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ValueType, typename KeyType, typename HashType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::Write(ULONG cProperties, PROPBAG2*, VARIANT*)
</del><ins>+HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::Write(ULONG cProperties, __inout_ecount_full(cProperties) PROPBAG2*, __inout_ecount_full(cProperties) VARIANT*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ValueType, typename KeyType, typename HashType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::CountProperties(ULONG* pcProperties)
</del><ins>+HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::CountProperties(_Out_ ULONG* pcProperties)
</ins><span class="cx"> {
</span><span class="cx">     if (!pcProperties)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -197,11 +197,13 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ValueType, typename KeyType, typename HashType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::GetPropertyInfo(ULONG iProperty, ULONG cProperties, PROPBAG2* pPropBag, ULONG* pcProperties)
</del><ins>+HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::GetPropertyInfo(ULONG iProperty, ULONG cProperties, __out_ecount_full(cProperties) PROPBAG2* pPropBag, _Out_ ULONG* pcProperties)
</ins><span class="cx"> {
</span><span class="cx">     if (!pPropBag || !pcProperties)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><ins>+    *pcProperties = 0;
+
</ins><span class="cx">     if (m_hashMap.size() &lt;= iProperty)
</span><span class="cx">         return E_INVALIDARG;
</span><span class="cx"> 
</span><span class="lines">@@ -229,7 +231,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ValueType, typename KeyType, typename HashType&gt;
</span><del>-HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::LoadObject(LPCOLESTR pstrName, DWORD dwHint, IUnknown*, IErrorLog*)
</del><ins>+HRESULT STDMETHODCALLTYPE COMPropertyBag&lt;ValueType, KeyType, HashType&gt;::LoadObject(_In_ LPCOLESTR pstrName, DWORD dwHint, _In_opt_ IUnknown*, _In_opt_ IErrorLog*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/ChangeLog        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,3 +1,2038 @@
</span><ins>+2015-08-19  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        [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 &quot;/*[in]*/&quot; and &quot;/*[out]*/&quot; 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&lt;ContainerType&gt;::QueryInterface):
+        (COMEnumVariant&lt;ContainerType&gt;::Reset):
+        (COMEnumVariant&lt;ContainerType&gt;::Clone):
+        * COMPropertyBag.h:
+        (COMPropertyBag::COMPropertyBag):
+        (COMPropertyBag::~COMPropertyBag):
+        (HashType&gt;::QueryInterface):
+        (HashType&gt;::Read):
+        (HashType&gt;::Write):
+        (HashType&gt;::CountProperties):
+        (HashType&gt;::GetPropertyInfo):
+        (HashType&gt;::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:
+
</ins><span class="cx"> 2015-08-17  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Replace all remaining uses of WTF::Mutex with WTF::Lock
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMCSSClassescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMCSSClasses.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMCSSClasses.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMCSSClasses.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> // DOMCSSStyleDeclaration - DOMCSSStyleDeclaration ----------------------------
</span><span class="cx"> 
</span><span class="cx"> DOMCSSStyleDeclaration::DOMCSSStyleDeclaration(WebCore::CSSStyleDeclaration* s)
</span><del>-: m_style(0)
</del><span class="cx"> {
</span><span class="cx">     if (s)
</span><span class="cx">         s-&gt;ref();
</span><span class="lines">@@ -49,7 +48,7 @@
</span><span class="cx"> IDOMCSSStyleDeclaration* DOMCSSStyleDeclaration::createInstance(WebCore::CSSStyleDeclaration* s)
</span><span class="cx"> {
</span><span class="cx">     if (!s)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HRESULT hr;
</span><span class="cx">     IDOMCSSStyleDeclaration* domStyle = 0;
</span><span class="lines">@@ -58,16 +57,18 @@
</span><span class="cx">     hr = newStyle-&gt;QueryInterface(IID_IDOMCSSStyleDeclaration, (void**)&amp;domStyle);
</span><span class="cx"> 
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return domStyle;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMCSSStyleDeclaration - IUnknown ------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMCSSStyleDeclaration::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMCSSStyleDeclaration))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMCSSStyleDeclaration*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -79,15 +80,16 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMCSSStyleDeclaration - IDOMCSSStyleDeclaration ---------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::cssText( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMCSSStyleDeclaration::cssText(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setCssText( 
-    /* [in] */ BSTR cssText)
</del><ins>+HRESULT DOMCSSStyleDeclaration::setCssText(_In_ BSTR cssText)
</ins><span class="cx"> {
</span><span class="cx">     WTF::String cssTextString(cssText);
</span><span class="cx">     // FIXME: &lt;rdar://5148045&gt; return DOM exception info
</span><span class="lines">@@ -96,10 +98,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyValue( 
-    /* [in] */ BSTR propertyName,
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMCSSStyleDeclaration::getPropertyValue(_In_ BSTR propertyName, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
+
</ins><span class="cx">     WTF::String propertyNameString(propertyName);
</span><span class="cx">     WTF::String value = m_style-&gt;getPropertyValue(propertyNameString);
</span><span class="cx">     *result = WebCore::BString(value).release();
</span><span class="lines">@@ -108,34 +112,34 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyCSSValue( 
-    /* [in] */ BSTR /*propertyName*/,
-    /* [retval][out] */ IDOMCSSValue** /*result*/)
</del><ins>+HRESULT DOMCSSStyleDeclaration::getPropertyCSSValue(_In_ BSTR /*propertyName*/, _COM_Outptr_opt_ IDOMCSSValue** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::removeProperty( 
-    /* [in] */ BSTR /*propertyName*/,
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMCSSStyleDeclaration::removeProperty(_In_ BSTR /*propertyName*/, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyPriority( 
-    /* [in] */ BSTR /*propertyName*/,
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMCSSStyleDeclaration::getPropertyPriority(_In_ BSTR /*propertyName*/, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setProperty( 
-    /* [in] */ BSTR propertyName,
-    /* [in] */ BSTR value,
-    /* [in] */ BSTR priority)
</del><ins>+HRESULT DOMCSSStyleDeclaration::setProperty(_In_ BSTR propertyName, _In_ BSTR value, _In_ BSTR priority)
</ins><span class="cx"> {
</span><span class="cx">     WTF::String propertyNameString(propertyName);
</span><span class="cx">     WTF::String valueString(value);
</span><span class="lines">@@ -146,24 +150,29 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::length( 
-    /* [retval][out] */ UINT* /*result*/)
</del><ins>+HRESULT DOMCSSStyleDeclaration::length(_Out_ UINT* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::item( 
-    /* [in] */ UINT /*index*/,
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMCSSStyleDeclaration::item(UINT /*index*/, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::parentRule( 
-    /* [retval][out] */ IDOMCSSRule** /*result*/)
</del><ins>+HRESULT DOMCSSStyleDeclaration::parentRule(_COM_Outptr_opt_ IDOMCSSRule** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMCSSClassesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMCSSClasses.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMCSSClasses.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMCSSClasses.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -42,83 +42,66 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMCSSStyleDeclaration
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
-    WebCore::CSSStyleDeclaration* m_style;
</del><ins>+    ULONG m_refCount { 0 };
+    WebCore::CSSStyleDeclaration* m_style { nullptr };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMCoreClassescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMCoreClasses.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMCoreClasses.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMCoreClasses.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2009, 2014-2015 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2009, 2014-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -71,9 +71,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMObject - IUnknown -------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMObject::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMObject::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMObject))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMObject*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -85,9 +87,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMNode - IUnknown ---------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMNode::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMNode))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMNode*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(DOMNode)))
</span><span class="lines">@@ -103,12 +107,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMNode --------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::nodeName( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMNode::nodeName(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *result = nullptr;
</ins><span class="cx">     if (!m_node)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -116,9 +119,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::nodeValue( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMNode::nodeValue(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_node)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     WTF::String nodeValueStr = m_node-&gt;nodeValue();
</span><span class="lines">@@ -128,33 +133,34 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::setNodeValue( 
-    /* [in] */ BSTR /*value*/)
</del><ins>+HRESULT DOMNode::setNodeValue(_In_ BSTR /*value*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::nodeType( 
-    /* [retval][out] */ unsigned short* /*result*/)
</del><ins>+HRESULT DOMNode::nodeType(_Out_ unsigned short* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::parentNode( 
-    /* [retval][out] */ IDOMNode** result)
</del><ins>+HRESULT DOMNode::parentNode(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><del>-    *result = 0;
</del><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_node || !m_node-&gt;parentNode())
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     *result = DOMNode::createInstance(m_node-&gt;parentNode());
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::childNodes( 
-    /* [retval][out] */ IDOMNodeList** result)
</del><ins>+HRESULT DOMNode::childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_node)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -165,67 +171,70 @@
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::firstChild( 
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMNode::firstChild(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::lastChild( 
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMNode::lastChild(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::previousSibling( 
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMNode::previousSibling(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::nextSibling( 
-    /* [retval][out] */ IDOMNode** result)
</del><ins>+HRESULT DOMNode::nextSibling(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx">     if (!m_node)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     *result = DOMNode::createInstance(m_node-&gt;nextSibling());
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::attributes( 
-    /* [retval][out] */ IDOMNamedNodeMap** /*result*/)
</del><ins>+HRESULT DOMNode::attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::ownerDocument( 
-    /* [retval][out] */ IDOMDocument** result)
</del><ins>+HRESULT DOMNode::ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx">     if (!m_node)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     *result = DOMDocument::createInstance(m_node-&gt;ownerDocument());
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::insertBefore( 
-    /* [in] */ IDOMNode* newChild,
-    /* [in] */ IDOMNode* refChild,
-    /* [retval][out] */ IDOMNode** result)
</del><ins>+HRESULT DOMNode::insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_node)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -245,23 +254,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::replaceChild( 
-    /* [in] */ IDOMNode* /*newChild*/,
-    /* [in] */ IDOMNode* /*oldChild*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMNode::replaceChild(_In_opt_ IDOMNode* /*newChild*/, _In_opt_ IDOMNode* /*oldChild*/, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::removeChild( 
-    /* [in] */ IDOMNode* oldChild,
-    /* [retval][out] */ IDOMNode** result)
</del><ins>+HRESULT DOMNode::removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_node)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -279,82 +286,82 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::appendChild( 
-    /* [in] */ IDOMNode* /*oldChild*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMNode::appendChild(_In_opt_ IDOMNode* /*oldChild*/, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::hasChildNodes( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMNode::hasChildNodes(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::cloneNode( 
-    /* [in] */ BOOL /*deep*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMNode::cloneNode(BOOL /*deep*/, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::normalize( void)
</del><ins>+HRESULT DOMNode::normalize()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::isSupported( 
-    /* [in] */ BSTR /*feature*/,
-    /* [in] */ BSTR /*version*/,
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMNode::isSupported(_In_ BSTR /*feature*/, _In_ BSTR /*version*/, _Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::namespaceURI( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMNode::namespaceURI(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::prefix( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMNode::prefix(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::setPrefix( 
-    /* [in] */ BSTR /*prefix*/)
</del><ins>+HRESULT DOMNode::setPrefix(_In_ BSTR /*prefix*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::localName( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMNode::localName(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::hasAttributes( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMNode::hasAttributes(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::isSameNode( 
-    /* [in] */ IDOMNode* other,
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMNode::isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -375,16 +382,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::isEqualNode( 
-    /* [in] */ IDOMNode* /*other*/,
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMNode::isEqualNode(_In_opt_ IDOMNode* /*other*/, _Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::textContent( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMNode::textContent(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -394,8 +398,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNode::setTextContent( 
-    /* [in] */ BSTR /*text*/)
</del><ins>+HRESULT DOMNode::setTextContent(_In_ BSTR /*text*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -403,10 +406,7 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMNode - IDOMEventTarget --------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT DOMNode::addEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
</del><ins>+HRESULT DOMNode::addEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;WebEventListener&gt; webListener = WebEventListener::create(listener);
</span><span class="cx">     m_node-&gt;addEventListener(type, webListener, useCapture);
</span><span class="lines">@@ -414,10 +414,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMNode::removeEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
</del><ins>+HRESULT DOMNode::removeEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
</ins><span class="cx"> {
</span><span class="cx">     if (!listener || !type)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -428,9 +425,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMNode::dispatchEvent(
-    /* [in] */ IDOMEvent* evt,
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMNode::dispatchEvent(_In_opt_ IDOMEvent* evt, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!evt || !result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -450,7 +445,6 @@
</span><span class="cx"> // DOMNode - DOMNode ----------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DOMNode::DOMNode(WebCore::Node* n)
</span><del>-: m_node(0)
</del><span class="cx"> {
</span><span class="cx">     if (n)
</span><span class="cx">         n-&gt;ref();
</span><span class="lines">@@ -467,10 +461,10 @@
</span><span class="cx"> IDOMNode* DOMNode::createInstance(WebCore::Node* n)
</span><span class="cx"> {
</span><span class="cx">     if (!n)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HRESULT hr = S_OK;
</span><del>-    IDOMNode* domNode = 0;
</del><ins>+    IDOMNode* domNode = nullptr;
</ins><span class="cx">     WebCore::Node::NodeType nodeType = n-&gt;nodeType();
</span><span class="cx"> 
</span><span class="cx">     switch (nodeType) {
</span><span class="lines">@@ -501,16 +495,18 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return domNode;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMNodeList - IUnknown -----------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNodeList::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMNodeList::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMNodeList))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMNodeList*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -522,11 +518,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IDOMNodeList ---------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNodeList::item( 
-    /* [in] */ UINT index,
-    /* [retval][out] */ IDOMNode **result)
</del><ins>+HRESULT DOMNodeList::item(UINT index, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><del>-    *result = 0;
</del><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_nodeList)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -538,9 +534,10 @@
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMNodeList::length( 
-        /* [retval][out] */ UINT *result)
</del><ins>+HRESULT DOMNodeList::length(_Out_ UINT* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = 0;
</span><span class="cx">     if (!m_nodeList)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -551,7 +548,6 @@
</span><span class="cx"> // DOMNodeList - DOMNodeList --------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DOMNodeList::DOMNodeList(WebCore::NodeList* l)
</span><del>-: m_nodeList(0)
</del><span class="cx"> {
</span><span class="cx">     if (l)
</span><span class="cx">         l-&gt;ref();
</span><span class="lines">@@ -568,21 +564,23 @@
</span><span class="cx"> IDOMNodeList* DOMNodeList::createInstance(WebCore::NodeList* l)
</span><span class="cx"> {
</span><span class="cx">     if (!l)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><del>-    IDOMNodeList* domNodeList = 0;
</del><ins>+    IDOMNodeList* domNodeList = nullptr;
</ins><span class="cx">     DOMNodeList* newNodeList = new DOMNodeList(l);
</span><span class="cx">     if (FAILED(newNodeList-&gt;QueryInterface(IID_IDOMNodeList, (void**)&amp;domNodeList)))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return domNodeList;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMDocument - IUnknown -----------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMDocument::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMDocument))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMDocument*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IDOMViewCSS))
</span><span class="lines">@@ -598,31 +596,37 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMDocument ----------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::doctype( 
-    /* [retval][out] */ IDOMDocumentType** /*result*/)
</del><ins>+HRESULT DOMDocument::doctype(_COM_Outptr_opt_ IDOMDocumentType** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::implementation( 
-    /* [retval][out] */ IDOMImplementation** /*result*/)
</del><ins>+HRESULT DOMDocument::implementation(_COM_Outptr_opt_ IDOMImplementation** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::documentElement( 
-    /* [retval][out] */ IDOMElement** result)
</del><ins>+HRESULT DOMDocument::documentElement(_COM_Outptr_opt_ IDOMElement** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = DOMElement::createInstance(m_document-&gt;documentElement());
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createElement( 
-    /* [in] */ BSTR tagName,
-    /* [retval][out] */ IDOMElement** result)
</del><ins>+HRESULT DOMDocument::createElement(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMElement** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -632,66 +636,74 @@
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createDocumentFragment( 
-    /* [retval][out] */ IDOMDocumentFragment** /*result*/)
</del><ins>+HRESULT DOMDocument::createDocumentFragment(_COM_Outptr_opt_ IDOMDocumentFragment** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createTextNode( 
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMText** /*result*/)
</del><ins>+HRESULT STDMETHODCALLTYPE DOMDocument::createTextNode(_In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMText** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createComment( 
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMComment** /*result*/)
</del><ins>+HRESULT DOMDocument::createComment(_In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMComment** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createCDATASection( 
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMCDATASection** /*result*/)
</del><ins>+HRESULT DOMDocument::createCDATASection(_In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMCDATASection** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createProcessingInstruction( 
-    /* [in] */ BSTR /*target*/,
-    /* [in] */ BSTR /*data*/,
-    /* [retval][out] */ IDOMProcessingInstruction** /*result*/)
</del><ins>+HRESULT DOMDocument::createProcessingInstruction(_In_ BSTR /*target*/, _In_ BSTR /*data*/, _COM_Outptr_opt_ IDOMProcessingInstruction** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createAttribute( 
-    /* [in] */ BSTR /*name*/,
-    /* [retval][out] */ IDOMAttr** /*result*/)
</del><ins>+HRESULT DOMDocument::createAttribute(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMAttr** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createEntityReference( 
-    /* [in] */ BSTR /*name*/,
-    /* [retval][out] */ IDOMEntityReference** /*result*/)
</del><ins>+HRESULT DOMDocument::createEntityReference(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMEntityReference** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagName( 
-    /* [in] */ BSTR tagName,
-    /* [retval][out] */ IDOMNodeList** result)
</del><ins>+HRESULT DOMDocument::getElementsByTagName(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMNodeList** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -700,38 +712,38 @@
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::importNode( 
-    /* [in] */ IDOMNode* /*importedNode*/,
-    /* [in] */ BOOL /*deep*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMDocument::importNode(_In_opt_ IDOMNode* /*importedNode*/, BOOL /*deep*/, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createElementNS( 
-    /* [in] */ BSTR /*namespaceURI*/,
-    /* [in] */ BSTR /*qualifiedName*/,
-    /* [retval][out] */ IDOMElement** /*result*/)
</del><ins>+HRESULT DOMDocument::createElementNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*qualifiedName*/, _COM_Outptr_opt_ IDOMElement** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createAttributeNS( 
-    /* [in] */ BSTR /*namespaceURI*/,
-    /* [in] */ BSTR /*qualifiedName*/,
-    /* [retval][out] */ IDOMAttr** /*result*/)
</del><ins>+HRESULT DOMDocument::createAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*qualifiedName*/, _COM_Outptr_opt_ IDOMAttr** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagNameNS( 
-    /* [in] */ BSTR namespaceURI,
-    /* [in] */ BSTR localName,
-    /* [retval][out] */ IDOMNodeList** result)
</del><ins>+HRESULT DOMDocument::getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -741,10 +753,11 @@
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::getElementById( 
-    /* [in] */ BSTR elementId,
-    /* [retval][out] */ IDOMElement** result)
</del><ins>+HRESULT DOMDocument::getElementById(_In_ BSTR elementId, _COM_Outptr_opt_ IDOMElement** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -755,13 +768,13 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMDocument - IDOMViewCSS --------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::getComputedStyle( 
-    /* [in] */ IDOMElement* elt,
-    /* [in] */ BSTR pseudoElt,
-    /* [retval][out] */ IDOMCSSStyleDeclaration** result)
</del><ins>+HRESULT DOMDocument::getComputedStyle(_In_opt_ IDOMElement* elt, _In_ BSTR pseudoElt, _COM_Outptr_opt_ IDOMCSSStyleDeclaration** result)
</ins><span class="cx"> {
</span><del>-    if (!elt || !result)
</del><ins>+    if (!result)
</ins><span class="cx">         return E_POINTER;
</span><ins>+    *result = nullptr;
+    if (!elt)
+        return E_POINTER;
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;DOMElement&gt; domEle;
</span><span class="cx">     HRESULT hr = elt-&gt;QueryInterface(IID_DOMElement, (void**)&amp;domEle);
</span><span class="lines">@@ -781,10 +794,12 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMDocument - IDOMDocumentEvent --------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMDocument::createEvent( 
-    /* [in] */ BSTR eventType,
-    /* [retval][out] */ IDOMEvent **result)
</del><ins>+HRESULT DOMDocument::createEvent(_In_ BSTR eventType, _COM_Outptr_opt_ IDOMEvent** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
+
</ins><span class="cx">     String eventTypeString(eventType, SysStringLen(eventType));
</span><span class="cx">     WebCore::ExceptionCode ec = 0;
</span><span class="cx">     *result = DOMEvent::createInstance(m_document-&gt;createEvent(eventTypeString, ec));
</span><span class="lines">@@ -794,8 +809,8 @@
</span><span class="cx"> // DOMDocument - DOMDocument --------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DOMDocument::DOMDocument(WebCore::Document* d)
</span><del>-: DOMNode(d)
-, m_document(d)
</del><ins>+    : DOMNode(d)
+    , m_document(d)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -806,10 +821,10 @@
</span><span class="cx"> IDOMDocument* DOMDocument::createInstance(WebCore::Document* d)
</span><span class="cx"> {
</span><span class="cx">     if (!d)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HRESULT hr;
</span><del>-    IDOMDocument* domDocument = 0;
</del><ins>+    IDOMDocument* domDocument = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (d-&gt;isHTMLDocument()) {
</span><span class="cx">         DOMHTMLDocument* newDocument = new DOMHTMLDocument(d);
</span><span class="lines">@@ -820,16 +835,18 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return domDocument;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMWindow - IUnknown ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMWindow::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMWindow))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMWindow*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IDOMEventTarget))
</span><span class="lines">@@ -843,8 +860,7 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMWindow - IDOMWindow ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::document(
-    /* [out, retval] */ IDOMDocument** result)
</del><ins>+HRESULT DOMWindow::document(_COM_Outptr_opt_ IDOMDocument** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -855,26 +871,22 @@
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::getComputedStyle(
-    /* [in] */ IDOMElement* element, 
-    /* [in] */ BSTR pseudoElement)
</del><ins>+HRESULT DOMWindow::getComputedStyle(_In_opt_ IDOMElement* element, _In_ BSTR pseudoElement)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::getMatchedCSSRules(
-    /* [in] */ IDOMElement* element, 
-    /* [in] */ BSTR pseudoElement, 
-    /* [in] */ BOOL authorOnly, 
-    /* [out, retval] */ IDOMCSSRuleList** result)
</del><ins>+HRESULT DOMWindow::getMatchedCSSRules(_In_opt_ IDOMElement* element, _In_ BSTR pseudoElement, BOOL authorOnly, _COM_Outptr_opt_ IDOMCSSRuleList** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::devicePixelRatio(
-    /* [out, retval] */ double* result)
</del><ins>+HRESULT DOMWindow::devicePixelRatio(_Out_ double* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -882,10 +894,7 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMWindow - IDOMEventTarget ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::addEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
</del><ins>+HRESULT DOMWindow::addEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
</ins><span class="cx"> {
</span><span class="cx">     if (!type || !listener)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -896,10 +905,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::removeEventListener(
-    /* [in] */ BSTR type,
-    /* [in] */ IDOMEventListener* listener,
-    /* [in] */ BOOL useCapture)
</del><ins>+HRESULT DOMWindow::removeEventListener(_In_ BSTR type, _In_opt_ IDOMEventListener* listener, BOOL useCapture)
</ins><span class="cx"> {
</span><span class="cx">     if (!type || !listener)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -910,9 +916,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMWindow::dispatchEvent(
-    /* [in] */ IDOMEvent* evt,
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMWindow::dispatchEvent(_In_opt_ IDOMEvent* evt, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result || !evt)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -933,7 +937,7 @@
</span><span class="cx"> // DOMWindow - DOMWindow --------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DOMWindow::DOMWindow(WebCore::DOMWindow* w)
</span><del>-: m_window(w)
</del><ins>+    : m_window(w)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -944,24 +948,26 @@
</span><span class="cx"> IDOMWindow* DOMWindow::createInstance(WebCore::DOMWindow* w)
</span><span class="cx"> {
</span><span class="cx">     if (!w)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     DOMWindow* newWindow = new DOMWindow(w);
</span><span class="cx"> 
</span><del>-    IDOMWindow* domWindow = 0;
</del><ins>+    IDOMWindow* domWindow = nullptr;
</ins><span class="cx">     HRESULT hr = newWindow-&gt;QueryInterface(IID_IDOMWindow, reinterpret_cast&lt;void**&gt;(&amp;domWindow));
</span><span class="cx"> 
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return domWindow;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMElement - IUnknown ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMElement*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_DOMElement))
</span><span class="lines">@@ -983,9 +989,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMElement - IDOMNodeExtensions---------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::boundingBox( 
-    /* [retval][out] */ LPRECT rect)
</del><ins>+HRESULT DOMElement::boundingBox(_Out_ LPRECT rect)
</ins><span class="cx"> {
</span><ins>+    if (!rect)
+        return E_POINTER;
+
</ins><span class="cx">     ::SetRectEmpty(rect);
</span><span class="cx"> 
</span><span class="cx">     if (!m_element)
</span><span class="lines">@@ -1003,32 +1011,30 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::lineBoxRects( 
-    /* [size_is][in] */ RECT* /*rects*/,
-    /* [in] */ int /*cRects*/)
</del><ins>+HRESULT STDMETHODCALLTYPE DOMElement::lineBoxRects(__inout_ecount_full(cRects) RECT* /*rects*/, int cRects)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IDOMElement ----------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::tagName( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMElement::tagName(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    if (!result)
-        return E_POINTER;
-
</del><span class="cx">     *result = BString(m_element-&gt;tagName()).release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMElement::getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     WTF::String nameString(name, SysStringLen(name));
</span><span class="lines">@@ -1039,9 +1045,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value)
</del><ins>+HRESULT DOMElement::setAttribute(_In_ BSTR name, _In_ BSTR value)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1053,115 +1057,109 @@
</span><span class="cx">     return ec ? E_FAIL : S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::removeAttribute( 
-        /* [in] */ BSTR /*name*/)
</del><ins>+HRESULT DOMElement::removeAttribute(_In_ BSTR /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNode( 
-        /* [in] */ BSTR /*name*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
</del><ins>+HRESULT DOMElement::getAttributeNode(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMAttr** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNode( 
-        /* [in] */ IDOMAttr* /*newAttr*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
</del><ins>+HRESULT DOMElement::setAttributeNode(_In_opt_ IDOMAttr* /*newAttr*/, _COM_Outptr_opt_ IDOMAttr** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::removeAttributeNode( 
-        /* [in] */ IDOMAttr* /*oldAttr*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
</del><ins>+HRESULT DOMElement::removeAttributeNode(_In_opt_ IDOMAttr* /*oldAttr*/, _COM_Outptr_opt_ IDOMAttr** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::getElementsByTagName( 
-        /* [in] */ BSTR /*name*/,
-        /* [retval][out] */ IDOMNodeList** /*result*/)
</del><ins>+HRESULT DOMElement::getElementsByTagName(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMNodeList** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMElement::getAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*qualifiedName*/,
-        /* [in] */ BSTR /*value*/)
</del><ins>+HRESULT DOMElement::setAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*qualifiedName*/, _In_ BSTR /*value*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::removeAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/)
</del><ins>+HRESULT DOMElement::removeAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNodeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
</del><ins>+HRESULT DOMElement::getAttributeNodeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, _COM_Outptr_opt_ IDOMAttr** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNodeNS( 
-        /* [in] */ IDOMAttr* /*newAttr*/,
-        /* [retval][out] */ IDOMAttr** /*result*/)
</del><ins>+HRESULT DOMElement::setAttributeNodeNS(_In_opt_ IDOMAttr* /*newAttr*/, _COM_Outptr_opt_ IDOMAttr** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::getElementsByTagNameNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ IDOMNodeList** /*result*/)
</del><ins>+HRESULT DOMElement::getElementsByTagNameNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, _COM_Outptr_opt_ IDOMNodeList** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::hasAttribute( 
-        /* [in] */ BSTR /*name*/,
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMElement::hasAttribute(_In_ BSTR /*name*/, _Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::hasAttributeNS( 
-        /* [in] */ BSTR /*namespaceURI*/,
-        /* [in] */ BSTR /*localName*/,
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMElement::hasAttributeNS(_In_ BSTR /*namespaceURI*/, _In_ BSTR /*localName*/, _Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::focus( void)
</del><ins>+HRESULT DOMElement::focus()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1169,7 +1167,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::blur( void)
</del><ins>+HRESULT DOMElement::blur()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1179,7 +1177,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IDOMElementPrivate ---------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT DOMElement::coreElement(void **element)
</del><ins>+HRESULT DOMElement::coreElement(__deref_opt_out void **element)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1187,13 +1185,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::isEqual( 
-    /* [in] */ IDOMElement *other,
-    /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT DOMElement::isEqual(_In_opt_ IDOMElement* other, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     *result = FALSE;
</span><span class="cx"> 
</span><del>-    if (!other || !result)
</del><ins>+    if (!other)
</ins><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     IDOMElementPrivate* otherPriv;
</span><span class="lines">@@ -1211,9 +1210,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::isFocused( 
-    /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT DOMElement::isFocused(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = FALSE;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1225,14 +1226,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::innerText(
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMElement::innerText(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    *result = nullptr;
+
</ins><span class="cx">     if (!m_element) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1242,7 +1244,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::font(WebFontDescription* webFontDescription)
</del><ins>+HRESULT DOMElement::font(_Out_ WebFontDescription* webFontDescription)
</ins><span class="cx"> {
</span><span class="cx">     if (!webFontDescription) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -1271,13 +1273,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::renderedImage(HBITMAP* image)
</del><ins>+HRESULT DOMElement::renderedImage(__deref_opt_out HBITMAP* image)
</ins><span class="cx"> {
</span><span class="cx">     if (!image) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><del>-    *image = 0;
</del><ins>+    *image = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(m_element);
</span><span class="cx"> 
</span><span class="lines">@@ -1292,8 +1294,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::markerTextForListItem(
-    /* [retval][out] */ BSTR* markerText)
</del><ins>+HRESULT DOMElement::markerTextForListItem(__deref_opt_out BSTR* markerText)
</ins><span class="cx"> {
</span><span class="cx">     if (!markerText)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1304,8 +1305,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::shadowPseudoId(
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMElement::shadowPseudoId(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1318,11 +1318,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IDOMElementCSSInlineStyle --------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::style( 
-    /* [retval][out] */ IDOMCSSStyleDeclaration** result)
</del><ins>+HRESULT DOMElement::style(_COM_Outptr_opt_ IDOMCSSStyleDeclaration** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><ins>+    *result = nullptr;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1336,9 +1336,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IDOMElementExtensions ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::offsetLeft( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::offsetLeft(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1346,9 +1348,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::offsetTop( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::offsetTop(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1356,9 +1360,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::offsetWidth( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::offsetWidth(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1366,9 +1372,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::offsetHeight( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::offsetHeight(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1376,17 +1384,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::offsetParent( 
-    /* [retval][out] */ IDOMElement** /*result*/)
</del><ins>+HRESULT DOMElement::offsetParent(_COM_Outptr_opt_ IDOMElement** result)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::clientWidth( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::clientWidth(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1394,9 +1406,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::clientHeight( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::clientHeight(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1404,9 +1418,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::scrollLeft( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::scrollLeft(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1414,17 +1430,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::setScrollLeft( 
-    /* [in] */ int /*newScrollLeft*/)
</del><ins>+HRESULT DOMElement::setScrollLeft(int /*newScrollLeft*/)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::scrollTop( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::scrollTop(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1432,17 +1449,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::setScrollTop( 
-    /* [in] */ int /*newScrollTop*/)
</del><ins>+HRESULT DOMElement::setScrollTop(int /*newScrollTop*/)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::scrollWidth( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::scrollWidth(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1450,9 +1468,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::scrollHeight( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT DOMElement::scrollHeight(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -1460,8 +1480,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoView( 
-    /* [in] */ BOOL alignWithTop)
</del><ins>+HRESULT DOMElement::scrollIntoView(BOOL alignWithTop)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1470,8 +1489,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoViewIfNeeded( 
-    /* [in] */ BOOL centerIfNeeded)
</del><ins>+HRESULT DOMElement::scrollIntoViewIfNeeded(BOOL centerIfNeeded)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_element)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1483,8 +1501,8 @@
</span><span class="cx"> // DOMElement -----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DOMElement::DOMElement(WebCore::Element* e)
</span><del>-: DOMNode(e)
-, m_element(e)
</del><ins>+    : DOMNode(e)
+    , m_element(e)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1498,7 +1516,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     HRESULT hr;
</span><del>-    IDOMElement* domElement = 0;
</del><ins>+    IDOMElement* domElement = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (is&lt;WebCore::HTMLFormElement&gt;(*e)) {
</span><span class="cx">         DOMHTMLFormElement* newElement = new DOMHTMLFormElement(e);
</span><span class="lines">@@ -1527,15 +1545,17 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return domElement;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMRange - IUnknown -----------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMRange::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><ins>+    if (!ppvObject)
+        return E_POINTER;
</ins><span class="cx">     *ppvObject = nullptr;
</span><span class="cx">     if (IsEqualGUID(riid, IID_IDOMRange))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMRange*&gt;(this);
</span><span class="lines">@@ -1571,11 +1591,11 @@
</span><span class="cx">     return newRange;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::startContainer(IDOMNode** node)
</del><ins>+HRESULT DOMRange::startContainer(_COM_Outptr_opt_ IDOMNode** node)
</ins><span class="cx"> {
</span><span class="cx">     if (!node)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *node = nullptr;
</ins><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><span class="lines">@@ -1584,11 +1604,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::startOffset(int* offset)
</del><ins>+HRESULT DOMRange::startOffset(_Out_ int* offset)
</ins><span class="cx"> {
</span><span class="cx">     if (!offset)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *offset = 0;
</ins><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><span class="lines">@@ -1597,11 +1617,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::endContainer(IDOMNode** node)
</del><ins>+HRESULT DOMRange::endContainer(_COM_Outptr_opt_ IDOMNode** node)
</ins><span class="cx"> {
</span><span class="cx">     if (!node)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *node = nullptr;
</ins><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><span class="lines">@@ -1610,11 +1630,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::endOffset(int* offset)
</del><ins>+HRESULT DOMRange::endOffset(_Out_ int* offset)
</ins><span class="cx"> {
</span><span class="cx">     if (!offset)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *offset = 0;
</ins><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><span class="lines">@@ -1623,11 +1643,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::collapsed(BOOL* result)
</del><ins>+HRESULT DOMRange::collapsed(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *result = FALSE;
</ins><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><span class="lines">@@ -1637,96 +1657,125 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::commonAncestorContainer(IDOMNode** container)
</del><ins>+HRESULT DOMRange::commonAncestorContainer(_COM_Outptr_opt_ IDOMNode** container)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!container)
+        return E_POINTER;
+    *container = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::setStart(IDOMNode* refNode, int offset)
</del><ins>+HRESULT DOMRange::setStart(_In_opt_ IDOMNode* refNode, int offset)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::setEnd(IDOMNode* refNode, int offset)
</del><ins>+HRESULT DOMRange::setEnd(_In_opt_ IDOMNode* refNode, int offset)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::setStartBefore(IDOMNode* refNode)
</del><ins>+HRESULT DOMRange::setStartBefore(_In_opt_ IDOMNode* refNode)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::setStartAfter(IDOMNode* refNode)
</del><ins>+HRESULT DOMRange::setStartAfter(_In_opt_ IDOMNode* refNode)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::setEndBefore(IDOMNode* refNode)
</del><ins>+HRESULT DOMRange::setEndBefore(_In_opt_  IDOMNode* refNode)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::setEndAfter(IDOMNode* refNode)
</del><ins>+HRESULT DOMRange::setEndAfter(_In_opt_  IDOMNode* refNode)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT DOMRange::collapse(BOOL toStart)
</span><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::selectNode(IDOMNode* refNode)
</del><ins>+HRESULT DOMRange::selectNode(_In_opt_ IDOMNode* refNode)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::selectNodeContents(IDOMNode* refNode)
</del><ins>+HRESULT DOMRange::selectNodeContents(_In_opt_ IDOMNode* refNode)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::compareBoundaryPoints(unsigned short how, IDOMRange* sourceRange)
</del><ins>+HRESULT DOMRange::compareBoundaryPoints(unsigned short how, _In_opt_ IDOMRange* sourceRange)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT DOMRange::deleteContents()
</span><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::extractContents(IDOMDocumentFragment** fragment)
</del><ins>+HRESULT DOMRange::extractContents(_COM_Outptr_opt_ IDOMDocumentFragment** fragment)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!fragment)
+        return E_POINTER;
+    *fragment = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::cloneContents(IDOMDocumentFragment** fragment)
</del><ins>+HRESULT DOMRange::cloneContents(_COM_Outptr_opt_ IDOMDocumentFragment** fragment)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!fragment)
+        return E_POINTER;
+    *fragment = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::insertNode(IDOMNode* newNode)
</del><ins>+HRESULT DOMRange::insertNode(_In_opt_ IDOMNode* newNode)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::surroundContents(IDOMNode* newParent)
</del><ins>+HRESULT DOMRange::surroundContents(_In_opt_ IDOMNode* newParent)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::cloneRange(IDOMRange** range)
</del><ins>+HRESULT DOMRange::cloneRange(_COM_Outptr_opt_ IDOMRange** range)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!range)
+        return E_POINTER;
+    *range = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DOMRange::toString(BSTR* str)
</del><ins>+HRESULT DOMRange::toString(__deref_opt_out BSTR* str)
</ins><span class="cx"> {
</span><span class="cx">     if (!str)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *str = nullptr;
</ins><span class="cx">     if (!m_range)
</span><span class="cx">         return E_UNEXPECTED;
</span><span class="cx"> 
</span><span class="lines">@@ -1738,5 +1787,6 @@
</span><span class="cx"> 
</span><span class="cx"> HRESULT DOMRange::detach()
</span><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMCoreClassesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMCoreClasses.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMCoreClasses.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMCoreClasses.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2014-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -42,207 +42,148 @@
</span><span class="cx"> class DOMObject : public WebScriptObject, public IDOMObject {
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return WebScriptObject::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return WebScriptObject::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return WebScriptObject::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return WebScriptObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return WebScriptObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return WebScriptObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return WebScriptObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return WebScriptObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return WebScriptObject::removeWebScriptKey(name); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return WebScriptObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return WebScriptObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return WebScriptObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return WebScriptObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return WebScriptObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return WebScriptObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return WebScriptObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return WebScriptObject::setException(description);
+    }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DECLSPEC_UUID(&quot;062AEEE3-9E42-44DC-A8A9-236B216FE011&quot;) DOMNode : public DOMObject, public IDOMNode, public IDOMEventTarget {
</span><span class="cx"> protected:
</span><del>-    DOMNode(WebCore::Node* n);
</del><ins>+    DOMNode(WebCore::Node*);
</ins><span class="cx">     ~DOMNode();
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    static IDOMNode* createInstance(WebCore::Node* n);
</del><ins>+    static IDOMNode* createInstance(WebCore::Node*);
</ins><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx"> 
</span><del>-    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);
-
</del><span class="cx">     // IDOMEventTarget
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx"> 
</span><span class="cx">     // DOMNode
</span><span class="cx">     WebCore::Node* node() const { return m_node; }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    WebCore::Node* m_node;
</del><ins>+    WebCore::Node* m_node { nullptr };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMNodeList : public DOMObject, public IDOMNodeList {
</span><span class="lines">@@ -255,52 +196,57 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNodeList
</span><del>-    virtual HRESULT STDMETHODCALLTYPE item(
-        /* [in] */ UINT index,
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE length(
-        /* [retval][out] */ UINT* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE item(UINT index, _COM_Outptr_opt_ IDOMNode** result);
+    virtual HRESULT STDMETHODCALLTYPE length(_Out_ UINT* result);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    WebCore::NodeList* m_nodeList;
</del><ins>+    WebCore::NodeList* m_nodeList { nullptr };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMDocument : public DOMNode, public IDOMDocument, public IDOMViewCSS, public IDOMDocumentEvent {
</span><span class="lines">@@ -313,220 +259,221 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMNode::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMNode::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMNode::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMNode::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMNode::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMNode::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMNode::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMNode::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMNode::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMNode::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMNode::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMNode::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMNode::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMNode::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMNode::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue(
-        /* [in] */ BSTR value) { return DOMNode::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMNode::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType(
-        /* [retval][out] */ unsigned short* result) { return DOMNode::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMNode::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes(
-        /* [retval][out] */ IDOMNodeList** result) { return DOMNode::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMNode::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::firstChild(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::lastChild(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes(
-        /* [retval][out] */ IDOMNamedNodeMap** result) { return DOMNode::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMNode::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument(
-        /* [retval][out] */ IDOMDocument** result) { return DOMNode::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMNode::ownerDocument(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* refChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::insertBefore(newChild, refChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::replaceChild(newChild, oldChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode(
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::cloneNode(deep, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMNode::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMNode::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported(
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSupported(feature, version, result); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI(
-        /* [retval][out] */ BSTR* result) { return DOMNode::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix(
-        /* [retval][out] */ BSTR* result) { return DOMNode::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMNode::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix(
-        /* [in] */ BSTR prefix) { return DOMNode::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::localName(result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent(
-        /* [retval][out] */ BSTR* result) { return DOMNode::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent(
-        /* [in] */ BSTR text) { return DOMNode::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMNode::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMDocument
</span><del>-    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);
</del><ins>+    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**);
</ins><span class="cx"> 
</span><span class="cx">     // IDOMViewCSS
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getComputedStyle(
-        /* [in] */ IDOMElement* elt,
-        /* [in] */ BSTR pseudoElt,
-        /* [retval][out] */ IDOMCSSStyleDeclaration** result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getComputedStyle(_In_opt_ IDOMElement* elt, _In_ BSTR pseudoElt, _COM_Outptr_opt_ IDOMCSSStyleDeclaration**);
</ins><span class="cx"> 
</span><span class="cx">     // IDOMDocumentEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createEvent(
-        /* [in] */ BSTR eventType,
-        /* [retval][out] */ IDOMEvent** result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createEvent(_In_ BSTR eventType, _COM_Outptr_opt_ IDOMEvent**);
</ins><span class="cx"> 
</span><span class="cx">     // DOMDocument
</span><span class="cx">     WebCore::Document* document() { return m_document; }
</span><span class="lines">@@ -545,72 +492,59 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</del><ins>+    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(); }
</ins><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE document(
-        /* [out, retval] */ IDOMDocument**);
</del><ins>+    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*);
</ins><span class="cx"> 
</span><del>-    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 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 *);
-
</del><span class="cx">     // DOMWindow
</span><span class="cx">     WebCore::DOMWindow* window() { return m_window; }
</span><span class="cx"> 
</span><span class="lines">@@ -629,295 +563,250 @@
</span><span class="cx">     static IDOMElement* createInstance(WebCore::Element* e);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMNode::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMNode::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMNode::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMNode::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMNode::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMNode::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
-        /* [in] */ BSTR name) { return DOMNode::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMNode::removeWebScriptKey(name); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMNode::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMNode::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMNode::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMNode::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMNode::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMNode::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException(
-        /* [in] */ BSTR description) { return DOMNode::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMNode::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue(
-        /* [retval][out] */ BSTR* result) { return DOMNode::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue(
-        /* [in] */ BSTR value) { return DOMNode::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMNode::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType(
-        /* [retval][out] */ unsigned short* result) { return DOMNode::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMNode::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes(
-        /* [retval][out] */ IDOMNodeList** result) { return DOMNode::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMNode::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::firstChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling(
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes(
-        /* [retval][out] */ IDOMNamedNodeMap** result) { return DOMNode::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMNode::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument(
-        /* [retval][out] */ IDOMDocument** result) { return DOMNode::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMNode::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* refChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_  IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::insertBefore(newChild, refChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild(
-        /* [in] */ IDOMNode* newChild,
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_  IDOMNode* newChild, _In_opt_  IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::replaceChild(newChild, oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_  IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild(
-        /* [in] */ IDOMNode* oldChild,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode(
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode** result) { return DOMNode::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMNode::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMNode::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMNode::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported(
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_  BSTR version, _Out_ BOOL* result)
+    {
+        return DOMNode::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI(
-        /* [retval][out] */ BSTR* result) { return DOMNode::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix(
-        /* [retval][out] */ BSTR* result) { return DOMNode::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix(
-        /* [in] */ BSTR prefix) { return DOMNode::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMNode::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName(
-        /* [retval][out] */ BSTR* result) { return DOMNode::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes(
-        /* [retval][out] */ BOOL* result) { return DOMNode::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMNode::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode(
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMNode::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMNode::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent(
-        /* [retval][out] */ BSTR* result) { return DOMNode::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMNode::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent(
-        /* [in] */ BSTR text) { return DOMNode::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMNode::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    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);
</del><ins>+    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();
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE blur( void);
-
</del><span class="cx">     // IDOMNodeExtensions
</span><del>-    virtual HRESULT STDMETHODCALLTYPE boundingBox(
-        /* [retval][out] */ LPRECT rect);
-    
-    virtual HRESULT STDMETHODCALLTYPE lineBoxRects(
-        /* [size_is][in] */ RECT* rects,
-        /* [in] */ int cRects);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE boundingBox(_Out_ LPRECT);
+    virtual HRESULT STDMETHODCALLTYPE lineBoxRects(__inout_ecount_full(cRects) RECT*, int cRects);
</ins><span class="cx"> 
</span><span class="cx">     // IDOMElementPrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE coreElement(
-        void** element);
</del><ins>+    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);
</ins><span class="cx"> 
</span><del>-    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);
-
</del><span class="cx">     // IDOMElementCSSInlineStyle
</span><del>-    virtual HRESULT STDMETHODCALLTYPE style(
-        /* [retval][out] */ IDOMCSSStyleDeclaration** result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE style(_COM_Outptr_opt_ IDOMCSSStyleDeclaration**);
</ins><span class="cx"> 
</span><span class="cx">     // IDOMElementExtensions
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx"> 
</span><span class="cx">     // DOMElement
</span><span class="cx">     WebCore::Element* element() { return m_element; }
</span><span class="lines">@@ -936,37 +825,37 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</del><ins>+    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(); }
</ins><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(BSTR exceptionMessage, BOOL* result)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
</ins><span class="cx">     {
</span><span class="cx">         return DOMObject::throwException(exceptionMessage, result);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(BSTR name, const VARIANT args[], int cArgs, VARIANT* result)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
</ins><span class="cx">     {
</span><span class="cx">         return DOMObject::callWebScriptMethod(name, args, cArgs, result);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(BSTR script, VARIANT* result)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
</ins><span class="cx">     {
</span><span class="cx">         return DOMObject::evaluateWebScript(script, result);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(BSTR name)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
</ins><span class="cx">     {
</span><span class="cx">         return DOMObject::removeWebScriptKey(name);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(BSTR* stringRepresentation)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
</ins><span class="cx">     {
</span><span class="cx">         return DOMObject::stringRepresentation(stringRepresentation);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, VARIANT* result)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
</ins><span class="cx">     {
</span><span class="cx">         return DOMObject::webScriptValueAtIndex(index, result);
</span><span class="cx">     }
</span><span class="lines">@@ -976,34 +865,34 @@
</span><span class="cx">         return DOMObject::setWebScriptValueAtIndex(index, val);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException(BSTR description)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
</ins><span class="cx">     {
</span><span class="cx">         return DOMObject::setException(description);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    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*);
</del><ins>+    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*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE collapse(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE selectNode(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE selectNodeContents(IDOMNode*);
-    virtual HRESULT STDMETHODCALLTYPE compareBoundaryPoints(unsigned short how, IDOMRange* sourceRange);
</del><ins>+    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);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE deleteContents();
</span><del>-    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*);
</del><ins>+    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*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE detach();
</span><span class="cx"> 
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMEventsClassescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMEventsClasses.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMEventsClasses.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMEventsClasses.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -37,9 +37,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMEventListener -----------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEventListener::QueryInterface(const IID &amp;riid, void** ppvObject)
</del><ins>+HRESULT DOMEventListener::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMEventListener))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMEventListener*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -49,8 +51,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEventListener::handleEvent( 
-    /* [in] */ IDOMEvent* /*evt*/)
</del><ins>+HRESULT DOMEventListener::handleEvent(_In_opt_ IDOMEvent* /*evt*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="lines">@@ -88,7 +89,6 @@
</span><span class="cx"> // DOMEvent -------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DOMEvent::DOMEvent(PassRefPtr&lt;WebCore::Event&gt; e)
</span><del>-: m_event(0)
</del><span class="cx"> {
</span><span class="cx">     m_event = e;
</span><span class="cx"> }
</span><span class="lines">@@ -100,10 +100,10 @@
</span><span class="cx"> IDOMEvent* DOMEvent::createInstance(PassRefPtr&lt;WebCore::Event&gt; e)
</span><span class="cx"> {
</span><span class="cx">     if (!e)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HRESULT hr;
</span><del>-    IDOMEvent* domEvent = 0;
</del><ins>+    IDOMEvent* domEvent = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (e-&gt;isKeyboardEvent()) {
</span><span class="cx">         DOMKeyboardEvent* newEvent = new DOMKeyboardEvent(e);
</span><span class="lines">@@ -129,14 +129,16 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return domEvent;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::QueryInterface(const IID &amp;riid, void** ppvObject)
</del><ins>+HRESULT DOMEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_DOMEvent))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IDOMEvent))
</span><span class="lines">@@ -148,71 +150,82 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::type( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMEvent::type(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::target( 
-    /* [retval][out] */ IDOMEventTarget** /*result*/)
</del><ins>+HRESULT DOMEvent::target(_COM_Outptr_opt_ IDOMEventTarget** result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::currentTarget( 
-    /* [retval][out] */ IDOMEventTarget** /*result*/)
</del><ins>+HRESULT DOMEvent::currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::eventPhase( 
-    /* [retval][out] */ unsigned short* /*result*/)
</del><ins>+HRESULT DOMEvent::eventPhase(_Out_ unsigned short* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::bubbles( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMEvent::bubbles(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::cancelable( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMEvent::cancelable(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::timeStamp( 
-    /* [retval][out] */ DOMTimeStamp* /*result*/)
</del><ins>+HRESULT DOMEvent::timeStamp(_Out_ DOMTimeStamp* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::stopPropagation( void)
</del><ins>+HRESULT DOMEvent::stopPropagation()
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault( void)
</del><ins>+HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault()
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMEvent::initEvent( 
-    /* [in] */ BSTR /*eventTypeArg*/,
-    /* [in] */ BOOL /*canBubbleArg*/,
-    /* [in] */ BOOL /*cancelableArg*/)
</del><ins>+HRESULT DOMEvent::initEvent(_In_ BSTR /*eventTypeArg*/, BOOL /*canBubbleArg*/, BOOL /*cancelableArg*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMUIEvent -----------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMUIEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMUIEvent))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMUIEvent*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -222,75 +235,76 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::view( 
-    /* [retval][out] */ IDOMWindow** /*result*/)
</del><ins>+HRESULT DOMUIEvent::view(_COM_Outptr_opt_ IDOMWindow** result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::detail( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::detail(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::initUIEvent( 
-    /* [in] */ BSTR /*type*/,
-    /* [in] */ BOOL /*canBubble*/,
-    /* [in] */ BOOL /*cancelable*/,
-    /* [in] */ IDOMWindow* /*view*/,
-    /* [in] */ long /*detail*/)
</del><ins>+HRESULT DOMUIEvent::initUIEvent(_In_ BSTR /*type*/, BOOL /*canBubble*/, BOOL /*cancelable*/, _In_opt_ IDOMWindow* /*view*/, long /*detail*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::keyCode( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::keyCode(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::charCode( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::charCode(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::unused1(
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::unused1(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::unused2(
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::unused2(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::pageX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::pageX(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::pageY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::pageY(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMUIEvent::which( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMUIEvent::which(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMKeyboardEvent -----------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMKeyboardEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMKeyboardEvent))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMKeyboardEvent*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -300,27 +314,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyIdentifier( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMKeyboardEvent::keyIdentifier(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::location(
-    /* [retval][out] */ unsigned long* /*result*/)
</del><ins>+HRESULT DOMKeyboardEvent::location(_Out_ unsigned long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyLocation( 
-    /* [retval][out] */ unsigned long* /*result*/)
</del><ins>+HRESULT DOMKeyboardEvent::keyLocation(_Out_ unsigned long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::ctrlKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMKeyboardEvent::ctrlKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isKeyboardEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -330,9 +348,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::shiftKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMKeyboardEvent::shiftKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isKeyboardEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -342,9 +361,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMKeyboardEvent::altKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isKeyboardEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -354,9 +374,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::metaKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMKeyboardEvent::metaKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isKeyboardEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -366,9 +387,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altGraphKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMKeyboardEvent::altGraphKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isKeyboardEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -378,34 +400,27 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::getModifierState( 
-    /* [in] */ BSTR /*keyIdentifierArg*/,
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMKeyboardEvent::getModifierState(_In_ BSTR /*keyIdentifierArg*/, _Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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*/)
</del><ins>+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*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMMouseEvent --------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMMouseEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMMouseEvent))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMMouseEvent*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -415,33 +430,34 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::screenX(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::screenY(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::clientX(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::clientY(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::ctrlKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMMouseEvent::ctrlKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isMouseEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -451,9 +467,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::shiftKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMMouseEvent::shiftKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isMouseEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -463,9 +480,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::altKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMMouseEvent::altKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isMouseEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -475,9 +493,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::metaKey( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMMouseEvent::metaKey(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = FALSE;
</span><span class="cx">     if (!m_event || !m_event-&gt;isMouseEvent())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -487,79 +506,79 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::button( 
-    /* [retval][out] */ unsigned short* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::button(_Out_ unsigned short* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::relatedTarget( 
-    /* [retval][out] */ IDOMEventTarget** /*result*/)
</del><ins>+HRESULT DOMMouseEvent::relatedTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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*/)
</del><ins>+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*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::offsetX(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::offsetY(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::x( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::x(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::y( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMMouseEvent::y(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::fromElement( 
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMMouseEvent::fromElement(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMouseEvent::toElement(
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMMouseEvent::toElement(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMMutationEvent -----------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMutationEvent::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMMutationEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMMutationEvent))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMMutationEvent*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -569,54 +588,66 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMutationEvent::relatedNode( 
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMMutationEvent::relatedNode(_COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMutationEvent::prevValue( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMMutationEvent::prevValue(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMutationEvent::newValue( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMMutationEvent::newValue(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrName( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMMutationEvent::attrName(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrChange( 
-    /* [retval][out] */ unsigned short* /*result*/)
</del><ins>+HRESULT DOMMutationEvent::attrChange(_Out_ unsigned short* result)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
+    if (!result)
+        return E_POINTER;
+    *result = 0;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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*/)
</del><ins>+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*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMOverflowEvent -----------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMOverflowEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMOverflowEvent))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMOverflowEvent*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -626,29 +657,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::orient( 
-    /* [retval][out] */ unsigned short* /*result*/)
</del><ins>+HRESULT DOMOverflowEvent::orient(_Out_ unsigned short* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::horizontalOverflow( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMOverflowEvent::horizontalOverflow(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::verticalOverflow( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMOverflowEvent::verticalOverflow(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMWheelEvent --------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMWheelEvent::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMWheelEvent))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMWheelEvent*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -658,114 +691,106 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::screenX(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::screenY(_Out_  long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::clientX(_Out_  long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::clientY(_Out_  long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::ctrlKey( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::ctrlKey(_Out_  BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::shiftKey( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::shiftKey(_Out_  BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::altKey( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::altKey(_Out_  BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::metaKey( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::metaKey(_Out_  BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDelta( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::wheelDelta(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::wheelDeltaX(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::wheelDeltaY(_Out_  long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetX( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::offsetX(_Out_  long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetY( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::offsetY(_Out_  long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::x( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::x(_Out_  long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::y( 
-    /* [retval][out] */ long* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::y(_Out_ long* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMWheelEvent::isHorizontal( 
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMWheelEvent::isHorizontal(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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*/)
</del><ins>+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*/)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMEventsClassesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMEventsClasses.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMEventsClasses.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMEventsClasses.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -57,45 +57,53 @@
</span><span class="cx"> {
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEventListener
</span><del>-    virtual HRESULT STDMETHODCALLTYPE handleEvent( 
-        /* [in] */ IDOMEvent* evt);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE handleEvent(_In_opt_ IDOMEvent*);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMEvent : public DOMObject, public IDOMEvent
</span><span class="lines">@@ -108,72 +116,62 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ IDOMEventTarget** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE currentTarget( 
-        /* [retval][out] */ IDOMEventTarget** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE eventPhase( 
-        /* [retval][out] */ unsigned short* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE bubbles( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE cancelable( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE timeStamp( 
-        /* [retval][out] */ DOMTimeStamp* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE stopPropagation( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE preventDefault( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE initEvent( 
-        /* [in] */ BSTR eventTypeArg,
-        /* [in] */ BOOL canBubbleArg,
-        /* [in] */ BOOL cancelableArg);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE target(_COM_Outptr_opt_ IDOMEventTarget**);
+    virtual HRESULT STDMETHODCALLTYPE currentTarget(_COM_Outptr_opt_ IDOMEventTarget**);
+    virtual HRESULT STDMETHODCALLTYPE eventPhase(_Out_ unsigned short* result);
+    virtual HRESULT STDMETHODCALLTYPE bubbles(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE cancelable(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE timeStamp(_Out_ DOMTimeStamp* result);
+    virtual HRESULT STDMETHODCALLTYPE stopPropagation();
+    virtual HRESULT STDMETHODCALLTYPE preventDefault();
+    virtual HRESULT STDMETHODCALLTYPE initEvent(_In_ BSTR eventTypeArg, BOOL canBubbleArg, BOOL cancelableArg);
</ins><span class="cx"> 
</span><span class="cx">     // DOMEvent methods
</span><span class="cx">     WebCore::Event* coreEvent() { return m_event.get(); }
</span><span class="lines">@@ -188,107 +186,113 @@
</span><span class="cx">     DOMUIEvent(PassRefPtr&lt;WebCore::Event&gt; e) : DOMEvent(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMEvent::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR* result)
+    {
+        return DOMEvent::type(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE target(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::target(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE currentTarget( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::currentTarget(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE eventPhase( 
-        /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE eventPhase(_Out_ unsigned short* result)
+    {
+        return DOMEvent::eventPhase(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE bubbles( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE bubbles(_Out_ BOOL* result)
+    {
+        return DOMEvent::bubbles(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelable( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelable(_Out_ BOOL* result)
+    {
+        return DOMEvent::cancelable(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE timeStamp( 
-        /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE timeStamp(_Out_ DOMTimeStamp* result)
+    {
+        return DOMEvent::timeStamp(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stopPropagation()
+    {
+        return DOMEvent::stopPropagation();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE preventDefault()
+    {
+        return DOMEvent::preventDefault();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initEvent( 
-        /* [in] */ BSTR eventTypeArg,
-        /* [in] */ BOOL canBubbleArg,
-        /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initEvent(_In_ BSTR eventTypeArg, BOOL canBubbleArg, BOOL cancelableArg)
+    {
+        return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMUIEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE view( 
-        /* [retval][out] */ IDOMWindow** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE detail( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
-        /* [in] */ BSTR type,
-        /* [in] */ BOOL canBubble,
-        /* [in] */ BOOL cancelable,
-        /* [in] */ IDOMWindow* view,
-        /* [in] */ long detail);
-    
-    virtual HRESULT STDMETHODCALLTYPE keyCode( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE charCode( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE unused1(
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE unused2(
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE pageX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE pageY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE which( 
-        /* [retval][out] */ long* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE view(_COM_Outptr_opt_ IDOMWindow**);
+    virtual HRESULT STDMETHODCALLTYPE detail(_Out_ long* result);
+    virtual HRESULT STDMETHODCALLTYPE initUIEvent(_In_ BSTR type, BOOL canBubble, BOOL cancelable, _In_opt_ IDOMWindow* view, long detail);
+    virtual HRESULT STDMETHODCALLTYPE keyCode(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE charCode(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE unused1(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE unused2(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE pageX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE pageY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE which(_Out_ long*);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMKeyboardEvent : public DOMUIEvent, public IDOMKeyboardEvent
</span><span class="lines">@@ -297,149 +301,164 @@
</span><span class="cx">     DOMKeyboardEvent(PassRefPtr&lt;WebCore::Event&gt; e) : DOMUIEvent(e) { }
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMUIEvent::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR* result)
+    {
+        return DOMEvent::type(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE target(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::target(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE currentTarget( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::currentTarget(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE eventPhase( 
-        /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE eventPhase(_Out_ unsigned short* result)
+    {
+        return DOMEvent::eventPhase(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE bubbles( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE bubbles(_Out_ BOOL* result)
+    {
+        return DOMEvent::bubbles(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelable( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelable(_Out_ BOOL* result)
+    {
+        return DOMEvent::cancelable(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE timeStamp( 
-        /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE timeStamp(_Out_ DOMTimeStamp* result)
+    {
+        return DOMEvent::timeStamp(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stopPropagation()
+    {
+        return DOMEvent::stopPropagation();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE preventDefault()
+    {
+        return DOMEvent::preventDefault();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initEvent( 
-        /* [in] */ BSTR eventTypeArg,
-        /* [in] */ BOOL canBubbleArg,
-        /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initEvent(_In_ BSTR eventTypeArg, BOOL canBubbleArg, BOOL cancelableArg)
+    {
+        return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMUIEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE view( 
-        /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE view(_COM_Outptr_opt_ IDOMWindow** result)
+    {
+        return DOMUIEvent::view(result);
+    }
</ins><span class="cx">     
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE detail( 
</span><span class="cx">         /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
</span><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
-        /* [in] */ BSTR type,
-        /* [in] */ BOOL canBubble,
-        /* [in] */ BOOL cancelable,
-        /* [in] */ IDOMWindow* view,
-        /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initUIEvent(_In_ BSTR type, BOOL canBubble, BOOL cancelable, _In_opt_ IDOMWindow* view, long detail)
+    {
+        return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE keyCode( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE keyCode(_Out_ long* result)
+    {
+        return DOMUIEvent::keyCode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE charCode( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE charCode(_Out_ long* result)
+    {
+        return DOMUIEvent::charCode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE unused1(
-        /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE unused1(_Out_ long* result)
+    {
+        return DOMUIEvent::unused1(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE unused2(
-        /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE unused2(_Out_ long* result)
+    {
+        return DOMUIEvent::unused2(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE pageX( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE pageX(_Out_ long* result)
+    {
+        return DOMUIEvent::pageX(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE pageY( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE pageY(_Out_ long* result)
+    {
+        return DOMUIEvent::pageY(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE which( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE which(_Out_ long* result)
+    {
+        return DOMUIEvent::which(result);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMKeyboardEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE keyIdentifier( 
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE location(
-        /* [retval][out] */ unsigned long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE keyLocation( 
-        /* [retval][out] */ unsigned long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE ctrlKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shiftKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE altKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE metaKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE altGraphKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getModifierState( 
-        /* [in] */ BSTR keyIdentifierArg,
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE 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);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE keyIdentifier(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE location(_Out_ unsigned long*);
+    virtual HRESULT STDMETHODCALLTYPE keyLocation(_Out_ unsigned long*);
+    virtual HRESULT STDMETHODCALLTYPE ctrlKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE shiftKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE altKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE metaKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE altGraphKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE getModifierState(_In_ BSTR keyIdentifierArg, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE 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);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMMouseEvent : public DOMUIEvent, public IDOMMouseEvent
</span><span class="lines">@@ -448,173 +467,173 @@
</span><span class="cx">     DOMMouseEvent(PassRefPtr&lt;WebCore::Event&gt; e) : DOMUIEvent(e) { }
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMUIEvent::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR* result)
+    {
+        return DOMEvent::type(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE target(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::target(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE currentTarget( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::currentTarget(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE eventPhase( 
-        /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE eventPhase(_Out_ unsigned short* result)
+    {
+        return DOMEvent::eventPhase(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE bubbles( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE bubbles(_Out_ BOOL* result)
+    {
+        return DOMEvent::bubbles(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelable( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelable(_Out_ BOOL* result)
+    {
+        return DOMEvent::cancelable(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE timeStamp( 
-        /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE timeStamp(_Out_ DOMTimeStamp* result)
+    {
+        return DOMEvent::timeStamp(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stopPropagation()
+    {
+        return DOMEvent::stopPropagation();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE preventDefault()
+    {
+        return DOMEvent::preventDefault();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initEvent( 
-        /* [in] */ BSTR eventTypeArg,
-        /* [in] */ BOOL canBubbleArg,
-        /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initEvent(_In_ BSTR eventTypeArg, BOOL canBubbleArg, BOOL cancelableArg)
+    {
+        return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMUIEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE view( 
-        /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE view(_COM_Outptr_opt_ IDOMWindow** result)
+    {
+        return DOMUIEvent::view(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE detail( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE detail(_Out_ long* result)
+    {
+        return DOMUIEvent::detail(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
-        /* [in] */ BSTR type,
-        /* [in] */ BOOL canBubble,
-        /* [in] */ BOOL cancelable,
-        /* [in] */ IDOMWindow* view,
-        /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initUIEvent(_In_ BSTR type, BOOL canBubble, BOOL cancelable, _In_opt_ IDOMWindow* view, long detail)
+    {
+        return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE keyCode( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE keyCode(_Out_ long* result)
+    {
+        return DOMUIEvent::keyCode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE charCode( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE charCode(_Out_ long* result)
+    {
+        return DOMUIEvent::charCode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE unused1(
-        /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE unused1(_Out_ long* result)
+    {
+        return DOMUIEvent::unused1(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE unused2(
-        /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE unused2(_Out_ long* result)
+    {
+        return DOMUIEvent::unused2(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE pageX( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE pageX(_Out_ long* result)
+    {
+        return DOMUIEvent::pageX(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE pageY( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE pageY(_Out_ long* result)
+    {
+        return DOMUIEvent::pageY(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE which( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE which(_Out_ long* result)
+    {
+        return DOMUIEvent::which(result);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMMouseEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE screenX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE screenY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE clientX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE clientY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE ctrlKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shiftKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE altKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE metaKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE button( 
-        /* [retval][out] */ unsigned short* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE relatedTarget( 
-        /* [retval][out] */ IDOMEventTarget** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE 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);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE x( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE y( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE fromElement( 
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE toElement(
-        /* [retval][out] */ IDOMNode** result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE screenX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE screenY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE clientX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE clientY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE ctrlKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE shiftKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE altKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE metaKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE button(_Out_ unsigned short*);
+    virtual HRESULT STDMETHODCALLTYPE relatedTarget(_COM_Outptr_opt_ IDOMEventTarget**);
+    virtual HRESULT STDMETHODCALLTYPE 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);
+    virtual HRESULT STDMETHODCALLTYPE offsetX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE offsetY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE x(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE y(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE fromElement(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE toElement(_COM_Outptr_opt_ IDOMNode**);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMMutationEvent : public DOMEvent, public IDOMMutationEvent
</span><span class="lines">@@ -623,98 +642,111 @@
</span><span class="cx">     DOMMutationEvent(PassRefPtr&lt;WebCore::Event&gt; e) : DOMEvent(e) { }
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMEvent::AddRef(); }
+    virtual ULONG STDMETHODCALLTYPE Release() { return DOMEvent::Release(); }
</ins><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR* result)
+    {
+        return DOMEvent::type(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE target(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::target(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE currentTarget( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::currentTarget(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE eventPhase( 
-        /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE eventPhase(_Out_ unsigned short* result)
+    {
+        return DOMEvent::eventPhase(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE bubbles( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE bubbles(_Out_ BOOL* result)
+    {
+        return DOMEvent::bubbles(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelable( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelable(_Out_ BOOL* result)
+    { 
+        return DOMEvent::cancelable(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE timeStamp( 
-        /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE timeStamp(_Out_ DOMTimeStamp* result)
+    {
+        return DOMEvent::timeStamp(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stopPropagation()
+    {
+        return DOMEvent::stopPropagation();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE preventDefault()
+    {
+        return DOMEvent::preventDefault();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initEvent( 
-        /* [in] */ BSTR eventTypeArg,
-        /* [in] */ BOOL canBubbleArg,
-        /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initEvent(_In_ BSTR eventTypeArg, BOOL canBubbleArg, BOOL cancelableArg)
+    {
+        return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMMutationEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE relatedNode( 
-        /* [retval][out] */ IDOMNode** result);
-    
-    virtual HRESULT STDMETHODCALLTYPE prevValue( 
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE newValue( 
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE attrName( 
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE attrChange( 
-        /* [retval][out] */ unsigned short* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE 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);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE relatedNode(_COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE prevValue(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE newValue(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE attrName(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE attrChange(_Out_ unsigned short* result);
+    virtual HRESULT STDMETHODCALLTYPE initMutationEvent(_In_ BSTR type, BOOL canBubble, BOOL cancelable,
+        _In_opt_ IDOMNode* relatedNode, _In_ BSTR prevValue, _In_ BSTR newValue, _In_ BSTR attrName,
+        unsigned short attrChange);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMOverflowEvent : public DOMEvent, public IDOMOverflowEvent
</span><span class="lines">@@ -723,82 +755,106 @@
</span><span class="cx">     DOMOverflowEvent(PassRefPtr&lt;WebCore::Event&gt; e) : DOMEvent(e) { }
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMEvent::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR* result)
+    {
+        return DOMEvent::type(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE target(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::target(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE currentTarget( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::currentTarget(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE eventPhase( 
-        /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE eventPhase(_Out_ unsigned short* result)
+    {
+        return DOMEvent::eventPhase(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE bubbles( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE bubbles(_Out_ BOOL* result)
+    {
+        return DOMEvent::bubbles(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelable( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelable(_Out_ BOOL* result)
+    {
+        return DOMEvent::cancelable(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE timeStamp( 
-        /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE timeStamp(_Out_ DOMTimeStamp* result)
+    {
+        return DOMEvent::timeStamp(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stopPropagation()
+    {
+        return DOMEvent::stopPropagation();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE preventDefault() 
+    {
+        return DOMEvent::preventDefault();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initEvent( 
-        /* [in] */ BSTR eventTypeArg,
-        /* [in] */ BOOL canBubbleArg,
-        /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initEvent(_In_ BSTR eventTypeArg, BOOL canBubbleArg, BOOL cancelableArg)
+    {
+        return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMOverflowEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE orient( 
-        /* [retval][out] */ unsigned short* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE horizontalOverflow( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE verticalOverflow( 
-        /* [retval][out] */ BOOL* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE orient(_Out_ unsigned short*);
+    virtual HRESULT STDMETHODCALLTYPE horizontalOverflow(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE verticalOverflow(_Out_ BOOL*);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMWheelEvent : public DOMUIEvent, public IDOMWheelEvent
</span><span class="lines">@@ -807,169 +863,172 @@
</span><span class="cx">     DOMWheelEvent(PassRefPtr&lt;WebCore::Event&gt; e) : DOMUIEvent(e) { }
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMUIEvent::AddRef(); }
+    virtual ULONG STDMETHODCALLTYPE Release() { return DOMUIEvent::Release(); }
</ins><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR* result)
+    {
+        return DOMEvent::type(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE target(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::target(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE currentTarget( 
-        /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE currentTarget(_COM_Outptr_opt_ IDOMEventTarget** result)
+    {
+        return DOMEvent::currentTarget(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE eventPhase( 
-        /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE eventPhase(_Out_ unsigned short* result)
+    {
+        return DOMEvent::eventPhase(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE bubbles( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE bubbles(_Out_ BOOL* result)
+    {
+        return DOMEvent::bubbles(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelable( 
-        /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelable(_Out_ BOOL* result)
+    { 
+        return DOMEvent::cancelable(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE timeStamp( 
-        /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE timeStamp(_Out_ DOMTimeStamp* result)
+    {
+        return DOMEvent::timeStamp(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stopPropagation()
+    {
+        return DOMEvent::stopPropagation();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE preventDefault()
+    { return DOMEvent::preventDefault();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initEvent( 
-        /* [in] */ BSTR eventTypeArg,
-        /* [in] */ BOOL canBubbleArg,
-        /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initEvent(_In_ BSTR eventTypeArg, BOOL canBubbleArg, BOOL cancelableArg)
+    {
+        return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMUIEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE view( 
-        /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE view(_COM_Outptr_opt_ IDOMWindow** result)
+    {
+        return DOMUIEvent::view(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE detail( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE detail(_Out_ long* result)
+    {
+        return DOMUIEvent::detail(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initUIEvent( 
-        /* [in] */ BSTR type,
-        /* [in] */ BOOL canBubble,
-        /* [in] */ BOOL cancelable,
-        /* [in] */ IDOMWindow* view,
-        /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initUIEvent(_In_ BSTR type, BOOL canBubble, BOOL cancelable, _In_opt_ IDOMWindow* view, long detail)
+    {
+        return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE keyCode( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE keyCode(_Out_ long* result)
+    {
+        return DOMUIEvent::keyCode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE charCode( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE charCode(_Out_ long* result)
+    {
+        return DOMUIEvent::charCode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE unused1(
-        /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE unused1(_Out_ long* result)
+    {
+        return DOMUIEvent::unused1(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE unused2(
-        /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE unused2(_Out_ long* result)
+    {
+        return DOMUIEvent::unused2(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE pageX( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE pageX(_Out_ long* result)
+    {
+        return DOMUIEvent::pageX(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE pageY( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE pageY(_Out_ long* result)
+    {
+        return DOMUIEvent::pageY(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE which( 
-        /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE which(_Out_ long* result)
+    {
+        return DOMUIEvent::which(result);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMWheelEvent
</span><del>-    virtual HRESULT STDMETHODCALLTYPE screenX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE screenY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE clientX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE clientY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE ctrlKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shiftKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE altKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE metaKey( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE wheelDelta( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE wheelDeltaX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE wheelDeltaY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetX( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE offsetY( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE x( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE y( 
-        /* [retval][out] */ long* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE isHorizontal( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE 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);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE screenX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE screenY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE clientX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE clientY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE ctrlKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE shiftKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE altKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE metaKey(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE wheelDelta(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE wheelDeltaX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE wheelDeltaY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE offsetX(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE offsetY(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE x(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE y(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE isHorizontal(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE 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);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMHTMLClassescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMHTMLClasses.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMHTMLClasses.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMHTMLClasses.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2009, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -73,9 +73,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLCollection - IUnknown -----------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLCollection::QueryInterface(_In_ REFIID riid, _COM_Outptr_  void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLCollection))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLCollection*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -87,9 +89,10 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLCollection ----------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::length( 
-    /* [retval][out] */ UINT* result)
</del><ins>+HRESULT DOMHTMLCollection::length(_Out_ UINT* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = 0;
</span><span class="cx">     if (!m_collection)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -98,11 +101,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::item( 
-    /* [in] */ UINT index,
-    /* [retval][out] */ IDOMNode** node)
</del><ins>+HRESULT DOMHTMLCollection::item(UINT index, _COM_Outptr_opt_ IDOMNode** node)
</ins><span class="cx"> {
</span><del>-    *node = 0;
</del><ins>+    if (!node)
+        return E_POINTER;
+    *node = nullptr;
</ins><span class="cx">     if (!m_collection)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="lines">@@ -110,19 +113,22 @@
</span><span class="cx">     return *node ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::namedItem( 
-    /* [in] */ BSTR /*name*/,
-    /* [retval][out] */ IDOMNode** /*node*/)
</del><ins>+HRESULT DOMHTMLCollection::namedItem(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMNode** node)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!node)
+        return E_POINTER;
+    *node = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLOptionsCollection - IUnknown ----------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLOptionsCollection::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLOptionsCollection))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLOptionsCollection*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -142,20 +148,19 @@
</span><span class="cx"> IDOMHTMLOptionsCollection* DOMHTMLOptionsCollection::createInstance(WebCore::HTMLOptionsCollection* collection)
</span><span class="cx"> {
</span><span class="cx">     if (!collection)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><del>-    IDOMHTMLOptionsCollection* optionsCollection = 0;
</del><ins>+    IDOMHTMLOptionsCollection* optionsCollection = nullptr;
</ins><span class="cx">     DOMHTMLOptionsCollection* newCollection = new DOMHTMLOptionsCollection(collection);
</span><span class="cx">     if (FAILED(newCollection-&gt;QueryInterface(IID_IDOMHTMLOptionsCollection, (void**)&amp;optionsCollection))) {
</span><span class="cx">         delete newCollection;
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return optionsCollection;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::length( 
-    /* [retval][out] */ unsigned int* result)
</del><ins>+HRESULT DOMHTMLOptionsCollection::length(_Out_ unsigned* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -164,16 +169,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::setLength( 
-    /* [in] */ unsigned int /*length*/)
</del><ins>+HRESULT DOMHTMLOptionsCollection::setLength(unsigned /*length*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::item( 
-    /* [in] */ unsigned int index,
-    /* [retval][out] */ IDOMNode** result)
</del><ins>+HRESULT DOMHTMLOptionsCollection::item(unsigned index, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -183,19 +185,22 @@
</span><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::namedItem( 
-    /* [in] */ BSTR /*name*/,
-    /* [retval][out] */ IDOMNode** /*result*/)
</del><ins>+HRESULT DOMHTMLOptionsCollection::namedItem(_In_ BSTR /*name*/, _COM_Outptr_opt_ IDOMNode** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLDocument - IUnknown -------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLDocument::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLDocument))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLDocument*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -207,13 +212,12 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLDocument ------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::title( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLDocument::title(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_document || !m_document-&gt;isHTMLDocument())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -222,29 +226,33 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::setTitle( 
-        /* [in] */ BSTR /*title*/)
</del><ins>+HRESULT DOMHTMLDocument::setTitle(_In_ BSTR /*title*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::referrer( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLDocument::referrer(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::domain( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLDocument::domain(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::URL( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLDocument::URL(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -253,9 +261,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::body( 
-        /* [retval][out] */ IDOMHTMLElement** bodyElement)
</del><ins>+HRESULT DOMHTMLDocument::body(_COM_Outptr_opt_ IDOMHTMLElement** bodyElement)
</ins><span class="cx"> {
</span><ins>+    if (!bodyElement)
+        return E_POINTER;
+
</ins><span class="cx">     *bodyElement = nullptr;
</span><span class="cx">     if (!is&lt;HTMLDocument&gt;(m_document))
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -268,37 +278,43 @@
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::setBody( 
-        /* [in] */ IDOMHTMLElement* /*body*/)
</del><ins>+HRESULT DOMHTMLDocument::setBody(_In_opt_ IDOMHTMLElement* /*body*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::images( 
-        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
</del><ins>+HRESULT DOMHTMLDocument::images(_COM_Outptr_opt_ IDOMHTMLCollection** collection)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!collection)
+        return E_POINTER;
+    *collection = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::applets( 
-        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
</del><ins>+HRESULT DOMHTMLDocument::applets(_COM_Outptr_opt_ IDOMHTMLCollection** collection)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!collection)
+        return E_POINTER;
+    *collection = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::links( 
-        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
</del><ins>+HRESULT DOMHTMLDocument::links(_COM_Outptr_opt_ IDOMHTMLCollection** collection)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!collection)
+        return E_POINTER;
+    *collection = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::forms( 
-        /* [retval][out] */ IDOMHTMLCollection** collection)
</del><ins>+HRESULT DOMHTMLDocument::forms(_COM_Outptr_opt_ IDOMHTMLCollection** collection)
</ins><span class="cx"> {
</span><ins>+    if (!collection)
+        return E_POINTER;
</ins><span class="cx">     *collection = nullptr;
</span><span class="cx">     if (!is&lt;HTMLDocument&gt;(m_document))
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -309,28 +325,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::anchors( 
-        /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
</del><ins>+HRESULT DOMHTMLDocument::anchors(_COM_Outptr_opt_ IDOMHTMLCollection** collection)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!collection)
+        return E_POINTER;
+    *collection = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::cookie( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLDocument::cookie(__deref_opt_out BSTR* cookie)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!cookie)
+        return E_POINTER;
+    *cookie = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::setCookie( 
-        /* [in] */ BSTR /*cookie*/)
</del><ins>+HRESULT DOMHTMLDocument::setCookie(_In_ BSTR /*cookie*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::open( void)
</del><ins>+HRESULT DOMHTMLDocument::open()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -339,7 +358,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::close( void)
</del><ins>+HRESULT DOMHTMLDocument::close()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -348,7 +367,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::write(/* [in] */ BSTR text)
</del><ins>+HRESULT DOMHTMLDocument::write(_In_ BSTR text)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -358,7 +377,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::writeln(/* [in] */ BSTR text)
</del><ins>+HRESULT DOMHTMLDocument::writeln(_In_ BSTR text)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_document)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -368,27 +387,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::getElementById_( 
-        /* [in] */ BSTR /*elementId*/,
-        /* [retval][out] */ IDOMElement** /*element*/)
</del><ins>+HRESULT DOMHTMLDocument::getElementById_(_In_ BSTR /*elementId*/, _COM_Outptr_opt_ IDOMElement** element)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!element)
+        return E_POINTER;
+    *element = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::getElementsByName( 
-        /* [in] */ BSTR /*elementName*/,
-        /* [retval][out] */ IDOMNodeList** /*nodeList*/)
</del><ins>+HRESULT DOMHTMLDocument::getElementsByName(_In_ BSTR /*elementName*/, _COM_Outptr_opt_ IDOMNodeList** nodeList)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!nodeList)
+        return E_POINTER;
+    *nodeList = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLElement - IUnknown --------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLElement*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -400,8 +423,7 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLElement -------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::idName( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLElement::idName(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -412,94 +434,98 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setIdName( 
-        /* [in] */ BSTR /*idName*/)
</del><ins>+HRESULT DOMHTMLElement::setIdName(_In_ BSTR /*idName*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::title( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLElement::title(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setTitle( 
-        /* [in] */ BSTR /*title*/)
</del><ins>+HRESULT DOMHTMLElement::setTitle(_In_ BSTR /*title*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::lang( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLElement::lang(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setLang( 
-        /* [in] */ BSTR /*lang*/)
</del><ins>+HRESULT DOMHTMLElement::setLang(_In_ BSTR /*lang*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::dir( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLElement::dir(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setDir( 
-        /* [in] */ BSTR /*dir*/)
</del><ins>+HRESULT DOMHTMLElement::setDir(_In_ BSTR /*dir*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::className( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLElement::className(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setClassName( 
-        /* [in] */ BSTR /*className*/)
</del><ins>+HRESULT DOMHTMLElement::setClassName(_In_ BSTR /*className*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::innerHTML( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLElement::innerHTML(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setInnerHTML( 
-        /* [in] */ BSTR /*html*/)
</del><ins>+HRESULT DOMHTMLElement::setInnerHTML(_In_ BSTR /*html*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::innerText( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLElement::innerText(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLElement&gt;(m_element));
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     WTF::String innerTextString = downcast&lt;HTMLElement&gt;(m_element)-&gt;innerText();
</span><span class="cx">     *result = BString(innerTextString).release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setInnerText( 
-        /* [in] */ BSTR text)
</del><ins>+HRESULT DOMHTMLElement::setInnerText(_In_ BSTR text)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLElement&gt;(m_element));
</span><span class="cx">     HTMLElement* htmlEle = downcast&lt;HTMLElement&gt;(m_element);
</span><span class="lines">@@ -511,9 +537,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLFormElement - IUnknown ----------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLFormElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLFormElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLFormElement*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -525,115 +553,120 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLFormElement ---------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::elements( 
-        /* [retval][out] */ IDOMHTMLCollection** /*result*/)
</del><ins>+HRESULT DOMHTMLFormElement::elements(_COM_Outptr_opt_ IDOMHTMLCollection** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::length( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLFormElement::length(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::name( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLFormElement::name(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setName( 
-        /* [in] */ BSTR /*name*/)
</del><ins>+HRESULT DOMHTMLFormElement::setName(_In_ BSTR /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::acceptCharset( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLFormElement::acceptCharset(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setAcceptCharset( 
-        /* [in] */ BSTR /*acceptCharset*/)
</del><ins>+HRESULT DOMHTMLFormElement::setAcceptCharset(_In_ BSTR /*acceptCharset*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::action( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLFormElement::action(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     ASSERT(is&lt;HTMLFormElement&gt;(m_element));
</span><span class="cx">     WTF::String actionString = downcast&lt;HTMLFormElement&gt;(*m_element).action();
</span><span class="cx">     *result = BString(actionString).release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setAction( 
-        /* [in] */ BSTR /*action*/)
</del><ins>+HRESULT DOMHTMLFormElement::setAction(_In_ BSTR /*action*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::encType( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLFormElement::encType(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setEnctype( 
-        /* [retval][out] */ BSTR* /*encType*/)
</del><ins>+HRESULT DOMHTMLFormElement::setEnctype(_In_opt_ BSTR* /*encType*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::method( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLFormElement::method(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     ASSERT(is&lt;HTMLFormElement&gt;(m_element));
</span><span class="cx">     WTF::String methodString = downcast&lt;HTMLFormElement&gt;(*m_element).method();
</span><span class="cx">     *result = BString(methodString).release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setMethod( 
-        /* [in] */ BSTR /*method*/)
</del><ins>+HRESULT DOMHTMLFormElement::setMethod(_In_ BSTR /*method*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::target( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLFormElement::target(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setTarget( 
-        /* [in] */ BSTR /*target*/)
</del><ins>+HRESULT DOMHTMLFormElement::setTarget(_In_ BSTR /*target*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::submit( void)
</del><ins>+HRESULT DOMHTMLFormElement::submit()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::reset( void)
</del><ins>+HRESULT DOMHTMLFormElement::reset()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -641,9 +674,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLSelectElement - IUnknown ----------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLSelectElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLSelectElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLSelectElement*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IFormsAutoFillTransitionSelect))
</span><span class="lines">@@ -657,57 +692,58 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLSelectElement -------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::type( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::type(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::selectedIndex( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::selectedIndex(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setSelectedIndx( 
-        /* [in] */ int /*selectedIndex*/)
</del><ins>+HRESULT DOMHTMLSelectElement::setSelectedIndx(int /*selectedIndex*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::value( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::value(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setValue( 
-        /* [in] */ BSTR /*value*/)
</del><ins>+HRESULT DOMHTMLSelectElement::setValue(_In_ BSTR /*value*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::length( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::length(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::form( 
-        /* [retval][out] */ IDOMHTMLFormElement** /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::form(_COM_Outptr_opt_ IDOMHTMLFormElement** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::options( 
-        /* [retval][out] */ IDOMHTMLOptionsCollection** result)
</del><ins>+HRESULT DOMHTMLSelectElement::options(_COM_Outptr_opt_ IDOMHTMLOptionsCollection** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -721,86 +757,76 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::disabled( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::disabled(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setDisabled( 
-        /* [in] */ BOOL /*disabled*/)
</del><ins>+HRESULT DOMHTMLSelectElement::setDisabled(BOOL /*disabled*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::multiple( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::multiple(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setMultiple( 
-        /* [in] */ BOOL /*multiple*/)
</del><ins>+HRESULT DOMHTMLSelectElement::setMultiple(BOOL /*multiple*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::name( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::name(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setName( 
-        /* [in] */ BSTR /*name*/)
</del><ins>+HRESULT DOMHTMLSelectElement::setName(_In_ BSTR /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::size( 
-        /* [retval][out] */ int* /*size*/)
</del><ins>+HRESULT DOMHTMLSelectElement::size(_Out_ int* /*size*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setSize( 
-        /* [in] */ int /*size*/)
</del><ins>+HRESULT DOMHTMLSelectElement::setSize(int /*size*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::tabIndex( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLSelectElement::tabIndex(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setTabIndex( 
-        /* [in] */ int /*tabIndex*/)
</del><ins>+HRESULT DOMHTMLSelectElement::setTabIndex(int /*tabIndex*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::add( 
-        /* [in] */ IDOMHTMLElement* /*element*/,
-        /* [in] */ IDOMHTMLElement* /*before*/)
</del><ins>+HRESULT DOMHTMLSelectElement::add(_In_opt_ IDOMHTMLElement* /*element*/, _In_opt_ IDOMHTMLElement* /*before*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::remove( 
-        /* [in] */ int /*index*/)
</del><ins>+HRESULT DOMHTMLSelectElement::remove(int /*index*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -808,8 +834,7 @@
</span><span class="cx">     
</span><span class="cx"> // DOMHTMLSelectElement - IFormsAutoFillTransitionSelect ----------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::activateItemAtIndex( 
-    /* [in] */ int index)
</del><ins>+HRESULT DOMHTMLSelectElement::activateItemAtIndex(int index)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_element);
</span><span class="cx">     HTMLSelectElement&amp; selectElement = downcast&lt;HTMLSelectElement&gt;(*m_element);
</span><span class="lines">@@ -823,9 +848,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLOptionElement - IUnknown --------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLOptionElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLOptionElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLOptionElement*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -837,34 +864,33 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLOptionElement -------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::form( 
-        /* [retval][out] */ IDOMHTMLFormElement** /*result*/)
</del><ins>+HRESULT DOMHTMLOptionElement::form(_COM_Outptr_opt_ IDOMHTMLFormElement** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::defaultSelected( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLOptionElement::defaultSelected(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setDefaultSelected( 
-        /* [in] */ BOOL /*defaultSelected*/)
</del><ins>+HRESULT DOMHTMLOptionElement::setDefaultSelected(BOOL /*defaultSelected*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::text( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLOptionElement::text(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(is&lt;HTMLOptionElement&gt;(m_element));
</span><span class="cx">     HTMLOptionElement&amp; optionElement = downcast&lt;HTMLOptionElement&gt;(*m_element);
</span><span class="lines">@@ -873,34 +899,30 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::index( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLOptionElement::index(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::disabled( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLOptionElement::disabled(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setDisabled( 
-        /* [in] */ BOOL /*disabled*/)
</del><ins>+HRESULT DOMHTMLOptionElement::setDisabled(BOOL /*disabled*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::label( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLOptionElement::label(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(is&lt;HTMLOptionElement&gt;(m_element));
</span><span class="cx">     HTMLOptionElement&amp; optionElement = downcast&lt;HTMLOptionElement&gt;(*m_element);
</span><span class="lines">@@ -909,36 +931,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setLabel( 
-        /* [in] */ BSTR /*label*/)
</del><ins>+HRESULT DOMHTMLOptionElement::setLabel(_In_ BSTR /*label*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::selected( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLOptionElement::selected(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setSelected( 
-        /* [in] */ BOOL /*selected*/)
</del><ins>+HRESULT DOMHTMLOptionElement::setSelected(BOOL /*selected*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::value( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLOptionElement::value(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setValue( 
-        /* [in] */ BSTR /*value*/)
</del><ins>+HRESULT DOMHTMLOptionElement::setValue(_In_ BSTR /*value*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -946,9 +963,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLInputElement - IUnknown ----------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLInputElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLInputElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLInputElement*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IFormsAutoFillTransition))
</span><span class="lines">@@ -964,36 +983,31 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLInputElement --------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::defaultValue( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::defaultValue(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDefaultValue( 
-        /* [in] */ BSTR /*val*/)
</del><ins>+HRESULT DOMHTMLInputElement::setDefaultValue(_In_ BSTR /*val*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::defaultChecked( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::defaultChecked(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDefaultChecked( 
-        /* [in] */ BSTR /*checked*/)
</del><ins>+HRESULT DOMHTMLInputElement::setDefaultChecked(_In_ BSTR /*checked*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::form( 
-        /* [retval][out] */ IDOMHTMLElement** result)
</del><ins>+HRESULT DOMHTMLInputElement::form(_COM_Outptr_opt_ IDOMHTMLElement** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1007,187 +1021,167 @@
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::accept( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::accept(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAccept( 
-        /* [in] */ BSTR /*accept*/)
</del><ins>+HRESULT DOMHTMLInputElement::setAccept(_In_ BSTR /*accept*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::accessKey( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::accessKey(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAccessKey( 
-        /* [in] */ BSTR /*key*/)
</del><ins>+HRESULT DOMHTMLInputElement::setAccessKey(_In_ BSTR /*key*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::align( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::align(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAlign( 
-        /* [in] */ BSTR /*align*/)
</del><ins>+HRESULT DOMHTMLInputElement::setAlign(_In_ BSTR /*align*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::alt( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::alt(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAlt( 
-        /* [in] */ BSTR /*alt*/)
</del><ins>+HRESULT DOMHTMLInputElement::setAlt(_In_ BSTR /*alt*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::checked( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::checked(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setChecked( 
-        /* [in] */ BOOL /*checked*/)
</del><ins>+HRESULT DOMHTMLInputElement::setChecked(BOOL /*checked*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::disabled( 
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMHTMLInputElement::disabled(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     *result = inputElement.isDisabledFormControl() ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDisabled( 
-        /* [in] */ BOOL /*disabled*/)
</del><ins>+HRESULT DOMHTMLInputElement::setDisabled(BOOL /*disabled*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::maxLength( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::maxLength(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setMaxLength( 
-        /* [in] */ int /*maxLength*/)
</del><ins>+HRESULT DOMHTMLInputElement::setMaxLength(int /*maxLength*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::name( 
-        /* [retval][out] */ BSTR* /*name*/)
</del><ins>+HRESULT DOMHTMLInputElement::name(__deref_opt_out BSTR* /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setName( 
-        /* [in] */ BSTR /*name*/)
</del><ins>+HRESULT DOMHTMLInputElement::setName(_In_ BSTR /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::readOnly( 
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMHTMLInputElement::readOnly(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     *result = inputElement.isReadOnly() ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setReadOnly( 
-        /* [in] */ BOOL /*readOnly*/)
</del><ins>+HRESULT DOMHTMLInputElement::setReadOnly(BOOL /*readOnly*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::size( 
-        /* [retval][out] */ unsigned int* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::size(_Out_ unsigned* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSize( 
-        /* [in] */ unsigned int /*size*/)
</del><ins>+HRESULT DOMHTMLInputElement::setSize(unsigned /*size*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::src( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::src(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSrc( 
-        /* [in] */ BSTR /*src*/)
</del><ins>+HRESULT DOMHTMLInputElement::setSrc(_In_ BSTR /*src*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::tabIndex( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::tabIndex(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setTabIndex( 
-        /* [in] */ int /*tabIndex*/)
</del><ins>+HRESULT DOMHTMLInputElement::setTabIndex(int /*tabIndex*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::type( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::type(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setType( 
-        /* [in] */ BSTR type)
</del><ins>+HRESULT DOMHTMLInputElement::setType(_In_ BSTR type)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="lines">@@ -1196,23 +1190,23 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::useMap( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLInputElement::useMap(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setUseMap( 
-        /* [in] */ BSTR /*useMap*/)
</del><ins>+HRESULT DOMHTMLInputElement::setUseMap(_In_ BSTR /*useMap*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::value( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLInputElement::value(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     WTF::String valueString = inputElement.value();
</span><span class="lines">@@ -1222,8 +1216,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValue( 
-        /* [in] */ BSTR value)
</del><ins>+HRESULT DOMHTMLInputElement::setValue(_In_ BSTR value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="lines">@@ -1231,8 +1224,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValueForUser(
-        /* [in] */ BSTR value)
</del><ins>+HRESULT DOMHTMLInputElement::setValueForUser(_In_ BSTR value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="lines">@@ -1240,7 +1232,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::select( void)
</del><ins>+HRESULT DOMHTMLInputElement::select()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="lines">@@ -1248,14 +1240,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::click( void)
</del><ins>+HRESULT DOMHTMLInputElement::click()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionStart( 
-    /* [in] */ long start)
</del><ins>+HRESULT DOMHTMLInputElement::setSelectionStart(long start)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="lines">@@ -1263,17 +1254,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionStart( 
-    /* [retval][out] */ long *start)
</del><ins>+HRESULT DOMHTMLInputElement::selectionStart(_Out_ long *start)
</ins><span class="cx"> {
</span><ins>+    if (!start)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     *start = inputElement.selectionStart();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionEnd( 
-    /* [in] */ long end)
</del><ins>+HRESULT DOMHTMLInputElement::setSelectionEnd(long end)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="lines">@@ -1281,9 +1273,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionEnd( 
-    /* [retval][out] */ long *end)
</del><ins>+HRESULT DOMHTMLInputElement::selectionEnd(_Out_ long *end)
</ins><span class="cx"> {
</span><ins>+    if (!end)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     *end = inputElement.selectionEnd();
</span><span class="lines">@@ -1292,18 +1286,21 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLInputElement -- IFormsAutoFillTransition ----------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isTextField(
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMHTMLInputElement::isTextField(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     *result = inputElement.isTextField() ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::rectOnScreen( 
-    /* [retval][out] */ LPRECT rect)
</del><ins>+HRESULT DOMHTMLInputElement::rectOnScreen(_Out_ LPRECT rect)
</ins><span class="cx"> {
</span><ins>+    if (!rect)
+        return E_POINTER;
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     rect-&gt;left = rect-&gt;top = rect-&gt;right = rect-&gt;bottom = 0;
</span><span class="cx">     RenderObject* renderer = m_element-&gt;renderer();
</span><span class="lines">@@ -1320,11 +1317,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::replaceCharactersInRange( 
-    /* [in] */ int startTarget,
-    /* [in] */ int endTarget,
-    /* [in] */ BSTR replacementString,
-    /* [in] */ int index)
</del><ins>+HRESULT DOMHTMLInputElement::replaceCharactersInRange(int startTarget, int endTarget, _In_ BSTR replacementString, int index)
</ins><span class="cx"> {
</span><span class="cx">     if (!replacementString)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1341,10 +1334,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectedRange( 
-    /* [out] */ int* start,
-    /* [out] */ int* end)
</del><ins>+HRESULT DOMHTMLInputElement::selectedRange(_Out_ int* start, _Out_ int* end)
</ins><span class="cx"> {
</span><ins>+    if (!start || !end)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     *start = inputElement.selectionStart();
</span><span class="lines">@@ -1352,8 +1346,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAutofilled( 
-    /* [in] */ BOOL filled)
</del><ins>+HRESULT DOMHTMLInputElement::setAutofilled(BOOL filled)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="lines">@@ -1361,9 +1354,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isAutofilled(
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT DOMHTMLInputElement::isAutofilled(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLInputElement&gt;(m_element));
</span><span class="cx">     HTMLInputElement&amp; inputElement = downcast&lt;HTMLInputElement&gt;(*m_element);
</span><span class="cx">     *result = inputElement.isAutoFilled() ? TRUE : FALSE;
</span><span class="lines">@@ -1372,8 +1367,7 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLInputElement -- IFormPromptAdditions ------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isUserEdited( 
-    /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT DOMHTMLInputElement::isUserEdited(_Out_ BOOL *result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1390,9 +1384,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLTextAreaElement - IUnknown ----------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLTextAreaElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLTextAreaElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLTextAreaElement*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IFormPromptAdditions))
</span><span class="lines">@@ -1406,22 +1402,19 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLTextAreaElement -----------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::defaultValue( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::defaultValue(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setDefaultValue( 
-        /* [in] */ BSTR /*val*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setDefaultValue(_In_ BSTR /*val*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::form( 
-        /* [retval][out] */ IDOMHTMLElement** result)
</del><ins>+HRESULT DOMHTMLTextAreaElement::form(_COM_Outptr_opt_ IDOMHTMLElement** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1435,114 +1428,101 @@
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::accessKey( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::accessKey(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setAccessKey( 
-        /* [in] */ BSTR /*key*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setAccessKey(_In_ BSTR /*key*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::cols( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::cols(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setCols( 
-        /* [in] */ int /*cols*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setCols(int /*cols*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::disabled( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::disabled(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setDisabled( 
-        /* [in] */ BOOL /*disabled*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setDisabled(BOOL /*disabled*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::name( 
-        /* [retval][out] */ BSTR* /*name*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::name(__deref_opt_out BSTR* /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setName( 
-        /* [in] */ BSTR /*name*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setName(_In_ BSTR /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::readOnly( 
-        /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::readOnly(_Out_ BOOL* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setReadOnly( 
-        /* [in] */ BOOL /*readOnly*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setReadOnly(BOOL /*readOnly*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::rows( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::rows(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setRows( 
-        /* [in] */ int /*rows*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setRows(int /*rows*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::tabIndex( 
-        /* [retval][out] */ int* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::tabIndex(_Out_ int* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setTabIndex( 
-        /* [in] */ int /*tabIndex*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setTabIndex(int /*tabIndex*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::type( 
-        /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT DOMHTMLTextAreaElement::type(__deref_opt_out BSTR* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::value( 
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT DOMHTMLTextAreaElement::value(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</span><span class="cx">     HTMLTextAreaElement&amp; textareaElement = downcast&lt;HTMLTextAreaElement&gt;(*m_element);
</span><span class="cx">     WTF::String valueString = textareaElement.value();
</span><span class="lines">@@ -1552,8 +1532,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setValue( 
-        /* [in] */ BSTR value)
</del><ins>+HRESULT DOMHTMLTextAreaElement::setValue(_In_ BSTR value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</span><span class="cx">     HTMLTextAreaElement&amp; textareaElement = downcast&lt;HTMLTextAreaElement&gt;(*m_element);
</span><span class="lines">@@ -1561,7 +1540,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::select( void)
</del><ins>+HRESULT DOMHTMLTextAreaElement::select()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(is&lt;HTMLTextAreaElement&gt;(m_element));
</span><span class="cx">     HTMLTextAreaElement&amp; textareaElement = downcast&lt;HTMLTextAreaElement&gt;(*m_element);
</span><span class="lines">@@ -1571,8 +1550,7 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLTextAreaElement -- IFormPromptAdditions ------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::isUserEdited( 
-    /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT DOMHTMLTextAreaElement::isUserEdited(_Out_ BOOL *result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1586,9 +1564,11 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLIFrameElement - IUnknown --------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DOMHTMLIFrameElement::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IDOMHTMLIFrameElement))
</span><span class="cx">         *ppvObject = static_cast&lt;IDOMHTMLIFrameElement*&gt;(this);
</span><span class="cx">     else
</span><span class="lines">@@ -1600,8 +1580,7 @@
</span><span class="cx"> 
</span><span class="cx"> // DOMHTMLIFrameElement -------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::contentFrame( 
-    /* [retval][out] */ IWebFrame **result)
</del><ins>+HRESULT DOMHTMLIFrameElement::contentFrame(_COM_Outptr_opt_ IWebFrame** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinDOMHTMLClassesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DOMHTMLClasses.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DOMHTMLClasses.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DOMHTMLClasses.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -44,53 +44,55 @@
</span><span class="cx">     static IDOMHTMLCollection* createInstance(WebCore::HTMLCollection*);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</del><ins>+    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(); }
</ins><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLCollection
</span><del>-    virtual HRESULT STDMETHODCALLTYPE length( 
-        /* [retval][out] */ UINT *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE item( 
-        /* [in] */ UINT index,
-        /* [retval][out] */ IDOMNode **node);
-    
-    virtual HRESULT STDMETHODCALLTYPE namedItem( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNode **node);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE length(_Out_ UINT* result);
+    virtual HRESULT STDMETHODCALLTYPE item(UINT index, _COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE namedItem(_In_ BSTR name, _COM_Outptr_opt_ IDOMNode**);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     RefPtr&lt;WebCore::HTMLCollection&gt; m_collection;
</span><span class="lines">@@ -102,56 +104,56 @@
</span><span class="cx">     static IDOMHTMLOptionsCollection* createInstance(WebCore::HTMLOptionsCollection*);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMObject::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMObject::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    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); }
</del><ins>+    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);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMObject::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMObject::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMObject::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMObject::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMObject::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMObject::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMObject::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLOptionsCollection
</span><del>-    virtual HRESULT STDMETHODCALLTYPE length( 
-        /* [retval][out] */ unsigned int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setLength( 
-        /* [in] */ unsigned int length);
-    
-    virtual HRESULT STDMETHODCALLTYPE item( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ IDOMNode **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE namedItem( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNode **result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE length(_Out_ unsigned*);
+    virtual HRESULT STDMETHODCALLTYPE setLength(unsigned int);
+    virtual HRESULT STDMETHODCALLTYPE item(unsigned index, _COM_Outptr_opt_ IDOMNode**);
+    virtual HRESULT STDMETHODCALLTYPE namedItem(_In_ BSTR name, _COM_Outptr_opt_ IDOMNode**);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     DOMHTMLOptionsCollection(WebCore::HTMLOptionsCollection*);
</span><span class="lines">@@ -167,270 +169,303 @@
</span><span class="cx">     DOMHTMLDocument(WebCore::Document* d) : DOMDocument(d) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMDocument::AddRef(); }
-    virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMDocument::Release(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMDocument::AddRef(); }
+    virtual ULONG STDMETHODCALLTYPE Release() { return DOMDocument::Release(); }
</ins><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMDocument::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMDocument::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMDocument::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMDocument::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMDocument::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMDocument::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMDocument::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMDocument::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMDocument::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMDocument::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMDocument::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMDocument::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMDocument::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMDocument::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMDocument::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMDocument::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMDocument::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMDocument::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMDocument::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMDocument::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMDocument::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMDocument::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMDocument::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::firstChild(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::nextSibling(result); }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMDocument::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMDocument::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMDocument::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMDocument::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::insertBefore(newChild, refChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::replaceChild(newChild, oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMDocument::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMDocument::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMDocument::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMDocument::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMDocument::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result)
+    {
+        return DOMDocument::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMDocument::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMDocument::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMDocument::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMDocument::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMDocument::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMDocument::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMDocument::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMDocument::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMDocument::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMDocument::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMDocument::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMDocument::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMDocument::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMDocument::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMDocument::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMDocument::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMDocument::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMDocument::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMDocument
</span><del>-    virtual HRESULT STDMETHODCALLTYPE doctype( 
-        /* [retval][out] */ IDOMDocumentType **result) { return DOMDocument::doctype(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE doctype(_COM_Outptr_opt_ IDOMDocumentType** result)
+    {
+        return DOMDocument::doctype(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE implementation( 
-        /* [retval][out] */ IDOMImplementation **result) { return DOMDocument::implementation(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE implementation(_COM_Outptr_opt_ IDOMImplementation** result)
+    {
+        return DOMDocument::implementation(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE documentElement( 
-        /* [retval][out] */ IDOMElement **result) { return DOMDocument::documentElement(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE documentElement(_COM_Outptr_opt_ IDOMElement** result)
+    {
+        return DOMDocument::documentElement(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createElement( 
-        /* [in] */ BSTR tagName,
-        /* [retval][out] */ IDOMElement **result) { return DOMDocument::createElement(tagName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createElement(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMElement** result)
+    {
+        return DOMDocument::createElement(tagName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createDocumentFragment( 
-        /* [retval][out] */ IDOMDocumentFragment **result) { return DOMDocument::createDocumentFragment(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(_COM_Outptr_opt_ IDOMDocumentFragment** result)
+    {
+        return DOMDocument::createDocumentFragment(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createTextNode( 
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMText **result) { return DOMDocument::createTextNode(data, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createTextNode(_In_ BSTR data, _COM_Outptr_opt_ IDOMText** result)
+    {
+        return DOMDocument::createTextNode(data, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createComment( 
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMComment **result) { return DOMDocument::createComment(data, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createComment(_In_ BSTR data, _COM_Outptr_opt_ IDOMComment** result)
+    {
+        return DOMDocument::createComment(data, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createCDATASection( 
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMCDATASection **result) { return DOMDocument::createCDATASection(data, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createCDATASection(_In_ BSTR data, _COM_Outptr_opt_ IDOMCDATASection** result)
+    {
+        return DOMDocument::createCDATASection(data, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction( 
-        /* [in] */ BSTR target,
-        /* [in] */ BSTR data,
-        /* [retval][out] */ IDOMProcessingInstruction **result) { return DOMDocument::createProcessingInstruction(target, data, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(_In_ BSTR target, _In_ BSTR data, _COM_Outptr_opt_ IDOMProcessingInstruction** result)
+    {
+        return DOMDocument::createProcessingInstruction(target, data, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMDocument::createAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createAttribute(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMDocument::createAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createEntityReference( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMEntityReference **result) { return DOMDocument::createEntityReference(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createEntityReference(_In_ BSTR name, _COM_Outptr_opt_ IDOMEntityReference** result)
+    {
+        return DOMDocument::createEntityReference(name, result);
+    }
+
+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR tagName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMDocument::getElementsByTagName(tagName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR tagName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::getElementsByTagName(tagName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE importNode(_In_opt_ IDOMNode* importedNode, BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMDocument::importNode(importedNode, deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE importNode( 
-        /* [in] */ IDOMNode *importedNode,
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMDocument::importNode(importedNode, deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createElementNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _COM_Outptr_opt_ IDOMElement** result)
+    {
+        return DOMDocument::createElementNS(namespaceURI, qualifiedName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createElementNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [retval][out] */ IDOMElement **result) { return DOMDocument::createElementNS(namespaceURI, qualifiedName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMDocument::createAttributeNS(namespaceURI, qualifiedName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMDocument::createAttributeNS(namespaceURI, qualifiedName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMDocument::getElementsByTagNameNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::getElementsByTagNameNS(namespaceURI, localName, result); }
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementById( 
-        /* [in] */ BSTR elementId,
-        /* [retval][out] */ IDOMElement **result) { return DOMDocument::getElementById(elementId, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementById(_In_ BSTR elementId, _COM_Outptr_opt_ IDOMElement** result)
+    {
+        return DOMDocument::getElementById(elementId, result);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLDocument
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title);
-    
-    virtual HRESULT STDMETHODCALLTYPE referrer( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE domain( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE URL( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE body( 
-        /* [retval][out] */ IDOMHTMLElement **bodyElement);
-    
-    virtual HRESULT STDMETHODCALLTYPE setBody( 
-        /* [in] */ IDOMHTMLElement *body);
-    
-    virtual HRESULT STDMETHODCALLTYPE images( 
-        /* [retval][out] */ IDOMHTMLCollection **collection);
-    
-    virtual HRESULT STDMETHODCALLTYPE applets( 
-        /* [retval][out] */ IDOMHTMLCollection **collection);
-    
-    virtual HRESULT STDMETHODCALLTYPE links( 
-        /* [retval][out] */ IDOMHTMLCollection **collection);
-    
-    virtual HRESULT STDMETHODCALLTYPE forms( 
-        /* [retval][out] */ IDOMHTMLCollection **collection);
-    
-    virtual HRESULT STDMETHODCALLTYPE anchors( 
-        /* [retval][out] */ IDOMHTMLCollection **collection);
-    
-    virtual HRESULT STDMETHODCALLTYPE cookie( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCookie( 
-        /* [in] */ BSTR cookie);
-    
-    virtual HRESULT STDMETHODCALLTYPE open( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE close( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE write( 
-        /* [in] */ BSTR text);
-    
-    virtual HRESULT STDMETHODCALLTYPE writeln( 
-        /* [in] */ BSTR text);
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementById_( 
-        /* [in] */ BSTR elementId,
-        /* [retval][out] */ IDOMElement **element);
-    
-    virtual HRESULT STDMETHODCALLTYPE getElementsByName( 
-        /* [in] */ BSTR elementName,
-        /* [retval][out] */ IDOMNodeList **nodeList);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE referrer(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE domain(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE URL(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE body(_COM_Outptr_opt_ IDOMHTMLElement**);
+    virtual HRESULT STDMETHODCALLTYPE setBody(_In_opt_ IDOMHTMLElement*);
+    virtual HRESULT STDMETHODCALLTYPE images(_COM_Outptr_opt_ IDOMHTMLCollection**);
+    virtual HRESULT STDMETHODCALLTYPE applets(_COM_Outptr_opt_ IDOMHTMLCollection**);
+    virtual HRESULT STDMETHODCALLTYPE links(_COM_Outptr_opt_ IDOMHTMLCollection**);
+    virtual HRESULT STDMETHODCALLTYPE forms(_COM_Outptr_opt_ IDOMHTMLCollection**);
+    virtual HRESULT STDMETHODCALLTYPE anchors(_COM_Outptr_opt_ IDOMHTMLCollection**);
+    virtual HRESULT STDMETHODCALLTYPE cookie(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setCookie(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE open();
+    virtual HRESULT STDMETHODCALLTYPE close();
+    virtual HRESULT STDMETHODCALLTYPE write(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE writeln(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE getElementById_(_In_ BSTR elementId, _COM_Outptr_opt_ IDOMElement**);
+    virtual HRESULT STDMETHODCALLTYPE getElementsByName(_In_ BSTR elementName, _COM_Outptr_opt_ IDOMNodeList**);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMHTMLElement : public DOMElement, public IDOMHTMLElement
</span><span class="lines">@@ -441,255 +476,303 @@
</span><span class="cx">     DOMHTMLElement(WebCore::Element* e) : DOMElement(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMElement::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMElement::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMElement::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMElement::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMElement::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMElement::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMElement::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMElement::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMElement::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMElement::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMElement::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMElement::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMElement::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMElement::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMElement::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMElement::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMElement::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMElement::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMElement::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMElement::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMElement::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMElement::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMElement::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return DOMElement::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMElement::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMElement::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMElement::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMElement::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMElement::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::firstChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMElement::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMElement::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMElement::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMElement::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode *refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::insertBefore(newChild, refChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::replaceChild(newChild, oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMElement::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMElement::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMElement::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMElement::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMElement::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMElement::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMElement::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result)
+    {
+        return DOMElement::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMElement::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMElement::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMElement::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMElement::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMElement::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMElement::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMElement::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMElement::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMElement::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMElement::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMElement::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMElement::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMElement::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMElement::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMElement::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMElement::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMElement::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMElement::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE tagName( 
-        /* [retval][out] */ BSTR *result) { return DOMElement::tagName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR* result)
+    {
+        return DOMElement::tagName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR *result) { return DOMElement::getAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
+    {
+        return DOMElement::getAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value) { return DOMElement::setAttribute(name, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_ BSTR value)
+    {
+        return DOMElement::setAttribute(name, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttribute( 
-        /* [in] */ BSTR name) { return DOMElement::removeAttribute(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name)
+    {
+        return DOMElement::removeAttribute(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMElement::getAttributeNode(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMElement::getAttributeNode(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNode(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr* newAttr, _COM_Outptr_opt_ IDOMAttr** result) 
+    {
+        return DOMElement::setAttributeNode(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMElement::removeAttributeNode(oldAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr* oldAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMElement::removeAttributeNode(oldAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMElement::getElementsByTagName(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMElement::getElementsByTagName(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR *result) { return DOMElement::getAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result)
+    {
+        return DOMElement::getAttributeNS(namespaceURI, localName, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value) { return DOMElement::setAttributeNS(namespaceURI, qualifiedName, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_ BSTR value)
+    {
+        return DOMElement::setAttributeNS(namespaceURI, qualifiedName, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName) { return DOMElement::removeAttributeNS(namespaceURI, localName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName)
+    {
+        return DOMElement::removeAttributeNS(namespaceURI, localName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMElement::getAttributeNodeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMElement::getAttributeNodeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNodeNS(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr* newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMElement::setAttributeNodeNS(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMElement::getElementsByTagNameNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMElement::getElementsByTagNameNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL *result) { return DOMElement::hasAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result)
+    {
+        return DOMElement::hasAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL *result) { return DOMElement::hasAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result)
+    {
+        return DOMElement::hasAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMElement::focus(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE focus()
+    {
+        return DOMElement::focus();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMElement::blur(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE blur()
+    {
+        return DOMElement::blur();
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE idName( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setIdName( 
-        /* [in] */ BSTR idName);
-    
-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title);
-    
-    virtual HRESULT STDMETHODCALLTYPE lang( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setLang( 
-        /* [in] */ BSTR lang);
-    
-    virtual HRESULT STDMETHODCALLTYPE dir( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDir( 
-        /* [in] */ BSTR dir);
-    
-    virtual HRESULT STDMETHODCALLTYPE className( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setClassName( 
-        /* [in] */ BSTR className);
-
-    virtual HRESULT STDMETHODCALLTYPE innerHTML( 
-        /* [retval][out] */ BSTR *result);
-        
-    virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 
-        /* [in] */ BSTR html);
-        
-    virtual HRESULT STDMETHODCALLTYPE innerText( 
-        /* [retval][out] */ BSTR *result);
-        
-    virtual HRESULT STDMETHODCALLTYPE setInnerText( 
-        /* [in] */ BSTR text);        
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE idName(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setIdName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE lang(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setLang(_In_ BSTR lg);
+    virtual HRESULT STDMETHODCALLTYPE dir(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setDir(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE className(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setClassName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE innerHTML(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setInnerHTML(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setInnerText(_In_ BSTR);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMHTMLFormElement : public DOMHTMLElement, public IDOMHTMLFormElement
</span><span class="lines">@@ -700,301 +783,373 @@
</span><span class="cx">     DOMHTMLFormElement(WebCore::Element* e) : DOMHTMLElement(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMHTMLElement::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMHTMLElement::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMHTMLElement::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMHTMLElement::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMHTMLElement::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMHTMLElement::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result) 
+    {
+        return DOMHTMLElement::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::firstChild(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMHTMLElement::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMHTMLElement::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode *refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::insertBefore(newChild, refChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::replaceChild(newChild, oldChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result) 
+    {
+        return DOMHTMLElement::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMHTMLElement::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result) 
+    { 
+        return DOMHTMLElement::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMHTMLElement::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result) 
+    {
+        return DOMHTMLElement::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE tagName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR* result) { return DOMHTMLElement::tagName(result); }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttribute(name, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttribute( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeAttribute(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNode(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNode(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr *oldAttr, _COM_Outptr_opt_ IDOMAttr** result) 
+    {
+        return DOMHTMLElement::removeAttributeNode(oldAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagName(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName)
+    {
+        return DOMHTMLElement::removeAttributeNS(namespaceURI, localName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNodeNS(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE focus()
+    {
+        return DOMHTMLElement::focus();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE blur()
+    {
+        return DOMHTMLElement::blur();
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE idName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE idName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::idName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setIdName( 
-        /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setIdName(_In_ BSTR idName)
+    {
+        return DOMHTMLElement::setIdName(idName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::title(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR title)
+    {
+        return DOMHTMLElement::setTitle(title);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lang( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lang(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::lang(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setLang( 
-        /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setLang(_In_ BSTR lang)
+    {
+        return DOMHTMLElement::setLang(lang);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dir( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dir(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::dir(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDir( 
-        /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDir(_In_ BSTR dir)
+    {
+        return DOMHTMLElement::setDir(dir);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE className( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE className(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::className(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setClassName( 
-        /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setClassName(_In_ BSTR className)
+    {
+        return DOMHTMLElement::setClassName(className);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerHTML( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerHTML(__deref_opt_out BSTR* result) 
+    {
+        return DOMHTMLElement::innerHTML(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 
-        /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerHTML(_In_ BSTR html)
+    {
+        return DOMHTMLElement::setInnerHTML(html);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerText( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerText(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerText( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerText(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setInnerText(text);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLFormElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE elements( 
-        /* [retval][out] */ IDOMHTMLCollection **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE length( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE name( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setName( 
-        /* [in] */ BSTR name);
-    
-    virtual HRESULT STDMETHODCALLTYPE acceptCharset( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAcceptCharset( 
-        /* [in] */ BSTR acceptCharset);
-    
-    virtual HRESULT STDMETHODCALLTYPE action( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAction( 
-        /* [in] */ BSTR action);
-    
-    virtual HRESULT STDMETHODCALLTYPE encType( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setEnctype( 
-        /* [retval][out] */ BSTR *encType);
-    
-    virtual HRESULT STDMETHODCALLTYPE method( 
-        /* [retval][out] */ BSTR *method);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMethod( 
-        /* [in] */ BSTR method);
-    
-    virtual HRESULT STDMETHODCALLTYPE target( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTarget( 
-        /* [in] */ BSTR target);
-    
-    virtual HRESULT STDMETHODCALLTYPE submit( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE reset( void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE elements(_COM_Outptr_opt_ IDOMHTMLCollection**);
+    virtual HRESULT STDMETHODCALLTYPE length(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE name(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE acceptCharset(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setAcceptCharset(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE action(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setAction(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE encType(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setEnctype(_In_opt_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE method(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setMethod(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE target(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setTarget(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE submit();
+    virtual HRESULT STDMETHODCALLTYPE reset();
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMHTMLSelectElement : public DOMHTMLElement, public IDOMHTMLSelectElement, public IFormsAutoFillTransitionSelect
</span><span class="lines">@@ -1005,320 +1160,383 @@
</span><span class="cx">     DOMHTMLSelectElement(WebCore::Element* e) : DOMHTMLElement(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMHTMLElement::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMHTMLElement::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMHTMLElement::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMHTMLElement::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMHTMLElement::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMHTMLElement::nodeType(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::firstChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMHTMLElement::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMHTMLElement::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::insertBefore(newChild, refChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::replaceChild(newChild, oldChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result) 
+    {
+        return DOMHTMLElement::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMHTMLElement::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result) 
+    {
+        return DOMHTMLElement::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMHTMLElement::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE tagName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::tagName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttribute(name, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttribute( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeAttribute(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNode(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNode(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr *oldAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::removeAttributeNode(oldAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagName(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName)
+    {
+        return DOMHTMLElement::removeAttributeNS(namespaceURI, localName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr* newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNodeNS(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE focus()
+    {
+        return DOMHTMLElement::focus();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE blur()
+    {
+        return DOMHTMLElement::blur();
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE idName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE idName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::idName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setIdName( 
-        /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setIdName(_In_ BSTR idName)
+    {
+        return DOMHTMLElement::setIdName(idName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::title(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR title)
+    {
+        return DOMHTMLElement::setTitle(title); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lang( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lang(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::lang(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setLang( 
-        /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setLang(_In_ BSTR lang)
+    {
+        return DOMHTMLElement::setLang(lang);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dir( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dir(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::dir(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDir( 
-        /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDir(_In_ BSTR dir)
+    {
+        return DOMHTMLElement::setDir(dir);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE className( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE className(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::className(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setClassName( 
-        /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setClassName(_In_ BSTR className)
+    {
+        return DOMHTMLElement::setClassName(className);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerHTML( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerHTML(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerHTML(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 
-        /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerHTML(_In_ BSTR html)
+    {
+        return DOMHTMLElement::setInnerHTML(html);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerText( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerText(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerText( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerText(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setInnerText(text);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLSelectElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE selectedIndex(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setSelectedIndx(int);
+    virtual HRESULT STDMETHODCALLTYPE value(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setValue(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE length(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE form(_COM_Outptr_opt_ IDOMHTMLFormElement**);
+    virtual HRESULT STDMETHODCALLTYPE options(_COM_Outptr_opt_ IDOMHTMLOptionsCollection**);
+    virtual HRESULT STDMETHODCALLTYPE disabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDisabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE multiple(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setMultiple(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE name(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE size(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setSize(int);
+    virtual HRESULT STDMETHODCALLTYPE tabIndex(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setTabIndex(int);
+    virtual HRESULT STDMETHODCALLTYPE add(_In_opt_ IDOMHTMLElement*, _In_opt_ IDOMHTMLElement* before);
+    virtual HRESULT STDMETHODCALLTYPE remove(int index);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE selectedIndex( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSelectedIndx( 
-        /* [in] */ int selectedIndex);
-    
-    virtual HRESULT STDMETHODCALLTYPE value( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setValue( 
-        /* [in] */ BSTR value);
-    
-    virtual HRESULT STDMETHODCALLTYPE length( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE form( 
-        /* [retval][out] */ IDOMHTMLFormElement **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE options( 
-        /* [retval][out] */ IDOMHTMLOptionsCollection **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE disabled( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDisabled( 
-        /* [in] */ BOOL disabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE multiple( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMultiple( 
-        /* [in] */ BOOL multiple);
-    
-    virtual HRESULT STDMETHODCALLTYPE name( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setName( 
-        /* [in] */ BSTR name);
-    
-    virtual HRESULT STDMETHODCALLTYPE size( 
-        /* [retval][out] */ int *size);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSize( 
-        /* [in] */ int size);
-    
-    virtual HRESULT STDMETHODCALLTYPE tabIndex( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTabIndex( 
-        /* [in] */ int tabIndex);
-    
-    virtual HRESULT STDMETHODCALLTYPE add( 
-        /* [in] */ IDOMHTMLElement *element,
-        /* [in] */ IDOMHTMLElement *before);
-    
-    virtual HRESULT STDMETHODCALLTYPE remove( 
-        /* [in] */ int index);
-    
</del><span class="cx">     // IFormsAutoFillTransitionSelect
</span><del>-    virtual HRESULT STDMETHODCALLTYPE activateItemAtIndex( 
-        /* [in] */ int index);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE activateItemAtIndex(int);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMHTMLOptionElement : public DOMHTMLElement, public IDOMHTMLOptionElement
</span><span class="lines">@@ -1329,294 +1547,373 @@
</span><span class="cx">     DOMHTMLOptionElement(WebCore::Element* e) : DOMHTMLElement(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMHTMLElement::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result) 
+    {
+        return DOMHTMLElement::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMHTMLElement::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMHTMLElement::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMHTMLElement::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMHTMLElement::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    { 
+        return DOMHTMLElement::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::childNodes(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    { 
+        return DOMHTMLElement::firstChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::lastChild(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMHTMLElement::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMHTMLElement::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode *refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::insertBefore(newChild, refChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::replaceChild(newChild, oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize() 
+    { 
+        return DOMHTMLElement::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result) 
+    {
+        return DOMHTMLElement::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::namespaceURI(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result) 
+    {
+        return DOMHTMLElement::prefix(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMHTMLElement::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE tagName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::tagName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttribute(name, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttribute( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeAttribute(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNode(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNode(newAttr, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr *oldAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::removeAttributeNode(oldAttr, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagName(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_  BSTR value) 
+    {
+        return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName)
+    {
+        return DOMHTMLElement::removeAttributeNS(namespaceURI, localName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNodeNS(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE focus()
+    {
+        return DOMHTMLElement::focus();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE blur()
+    {
+        return DOMHTMLElement::blur();
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE idName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE idName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::idName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setIdName( 
-        /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setIdName(_In_ BSTR idName)
+    {
+        return DOMHTMLElement::setIdName(idName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::title(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR title)
+    {
+        return DOMHTMLElement::setTitle(title);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lang( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lang(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::lang(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setLang( 
-        /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setLang(_In_ BSTR lang)
+    {
+        return DOMHTMLElement::setLang(lang);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dir( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dir(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::dir(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDir( 
-        /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDir(_In_ BSTR dir)
+    {
+        return DOMHTMLElement::setDir(dir);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE className( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE className(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::className(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setClassName( 
-        /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setClassName(_In_ BSTR className)
+    {
+        return DOMHTMLElement::setClassName(className);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerHTML( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerHTML(__deref_opt_out BSTR* result) 
+    {
+        return DOMHTMLElement::innerHTML(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 
-        /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerHTML(_In_ BSTR html)
+    {
+        return DOMHTMLElement::setInnerHTML(html);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerText( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerText(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerText( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerText(_In_ BSTR text)
+    { 
+        return DOMHTMLElement::setInnerText(text);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLOptionElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE form( 
-        /* [retval][out] */ IDOMHTMLFormElement **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE defaultSelected( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDefaultSelected( 
-        /* [in] */ BOOL defaultSelected);
-    
-    virtual HRESULT STDMETHODCALLTYPE text( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE index( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE disabled( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDisabled( 
-        /* [in] */ BOOL disabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE label( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setLabel( 
-        /* [in] */ BSTR label);
-    
-    virtual HRESULT STDMETHODCALLTYPE selected( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSelected( 
-        /* [in] */ BOOL selected);
-    
-    virtual HRESULT STDMETHODCALLTYPE value( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setValue( 
-        /* [in] */ BSTR value);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE form(_COM_Outptr_opt_ IDOMHTMLFormElement**);
+    virtual HRESULT STDMETHODCALLTYPE defaultSelected(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDefaultSelected(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE text(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE index(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE disabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDisabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE label(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setLabel(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE selected(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setSelected(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE value(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE setValue(_In_ BSTR);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMHTMLInputElement : public DOMHTMLElement, public IDOMHTMLInputElement, public IFormsAutoFillTransition, public IFormPromptAdditions
</span><span class="lines">@@ -1627,406 +1924,415 @@
</span><span class="cx">     DOMHTMLInputElement(WebCore::Element* e) : DOMHTMLElement(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMHTMLElement::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMHTMLElement::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMHTMLElement::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMHTMLElement::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMHTMLElement::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMHTMLElement::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    { 
+        return DOMHTMLElement::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::firstChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result) 
+    {
+        return DOMHTMLElement::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMHTMLElement::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode *refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::insertBefore(newChild, refChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::replaceChild(newChild, oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::removeChild(oldChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result) 
+    {
+        return DOMHTMLElement::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMHTMLElement::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMHTMLElement::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE tagName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::tagName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttribute(name, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttribute( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeAttribute(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNode(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNode(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr *oldAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::removeAttributeNode(oldAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagName(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName)
+    {
+        return DOMHTMLElement::removeAttributeNS(namespaceURI, localName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNodeNS(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); 
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE focus()
+    {
+        return DOMHTMLElement::focus();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE blur()
+    {
+        return DOMHTMLElement::blur();
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE idName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE idName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::idName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setIdName( 
-        /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setIdName(_In_ BSTR idName) 
+    {
+        return DOMHTMLElement::setIdName(idName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::title(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR title)
+    {
+        return DOMHTMLElement::setTitle(title); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lang( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lang(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::lang(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setLang( 
-        /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setLang(_In_ BSTR lang)
+    {
+        return DOMHTMLElement::setLang(lang);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dir( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dir(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::dir(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDir( 
-        /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDir(_In_ BSTR dir)
+    {
+        return DOMHTMLElement::setDir(dir);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE className( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE className(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::className(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setClassName( 
-        /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setClassName(_In_ BSTR className)
+    {
+        return DOMHTMLElement::setClassName(className);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerHTML( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerHTML(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerHTML(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 
-        /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerHTML(_In_ BSTR html)
+    {
+        return DOMHTMLElement::setInnerHTML(html);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerText( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerText(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerText( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerText(_In_ BSTR text) 
+    {
+        return DOMHTMLElement::setInnerText(text);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLInputElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE defaultValue( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDefaultValue( 
-        /* [in] */ BSTR val);
-    
-    virtual HRESULT STDMETHODCALLTYPE defaultChecked( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDefaultChecked( 
-        /* [in] */ BSTR checked);
-    
-    virtual HRESULT STDMETHODCALLTYPE form( 
-        /* [retval][out] */ IDOMHTMLElement **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE accept( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAccept( 
-        /* [in] */ BSTR accept);
-    
-    virtual HRESULT STDMETHODCALLTYPE accessKey( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAccessKey( 
-        /* [in] */ BSTR key);
-    
-    virtual HRESULT STDMETHODCALLTYPE align( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAlign( 
-        /* [in] */ BSTR align);
-    
-    virtual HRESULT STDMETHODCALLTYPE alt( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAlt( 
-        /* [in] */ BSTR alt);
-    
-    virtual HRESULT STDMETHODCALLTYPE checked( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setChecked( 
-        /* [in] */ BOOL checked);
-    
-    virtual HRESULT STDMETHODCALLTYPE disabled( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDisabled( 
-        /* [in] */ BOOL disabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE maxLength( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMaxLength( 
-        /* [in] */ int maxLength);
-    
-    virtual HRESULT STDMETHODCALLTYPE name( 
-        /* [retval][out] */ BSTR *name);
-    
-    virtual HRESULT STDMETHODCALLTYPE setName( 
-        /* [in] */ BSTR name);
-    
-    virtual HRESULT STDMETHODCALLTYPE readOnly( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setReadOnly( 
-        /* [in] */ BOOL readOnly);
-    
-    virtual HRESULT STDMETHODCALLTYPE size( 
-        /* [retval][out] */ unsigned int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSize( 
-        /* [in] */ unsigned int size);
-    
-    virtual HRESULT STDMETHODCALLTYPE src( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSrc( 
-        /* [in] */ BSTR src);
-    
-    virtual HRESULT STDMETHODCALLTYPE tabIndex( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTabIndex( 
-        /* [in] */ int tabIndex);
-    
-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setType( 
-        /* [in] */ BSTR type);
-    
-    virtual HRESULT STDMETHODCALLTYPE useMap( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setUseMap( 
-        /* [in] */ BSTR useMap);
-    
-    virtual HRESULT STDMETHODCALLTYPE value( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setValue( 
-        /* [in] */ BSTR value);
-        
-    virtual HRESULT STDMETHODCALLTYPE select( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE click( void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE defaultValue(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setDefaultValue(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE defaultChecked(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDefaultChecked(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE form(_COM_Outptr_opt_ IDOMHTMLElement**);
+    virtual HRESULT STDMETHODCALLTYPE accept(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setAccept(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE accessKey(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setAccessKey(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE align(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setAlign(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE alt(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setAlt(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE checked(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setChecked(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE disabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDisabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE maxLength(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setMaxLength(int);
+    virtual HRESULT STDMETHODCALLTYPE name(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE readOnly(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setReadOnly(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE size(_Out_ unsigned*);
+    virtual HRESULT STDMETHODCALLTYPE setSize(unsigned);
+    virtual HRESULT STDMETHODCALLTYPE src(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setSrc(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE tabIndex(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setTabIndex(int);
+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setType(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE useMap(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setUseMap(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE value(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setValue(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE select();
+    virtual HRESULT STDMETHODCALLTYPE click();
+    virtual HRESULT STDMETHODCALLTYPE setSelectionStart(long);
+    virtual HRESULT STDMETHODCALLTYPE selectionStart(_Out_ long*);
+    virtual HRESULT STDMETHODCALLTYPE setSelectionEnd(long);
+    virtual HRESULT STDMETHODCALLTYPE selectionEnd(_Out_ long*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setSelectionStart( 
-        /* [in] */ long start);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectionStart( 
-        /* [retval][out] */ long *start);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSelectionEnd( 
-        /* [in] */ long end);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectionEnd( 
-        /* [retval][out] */ long *end);
-
</del><span class="cx">     // IFormsAutoFillTransition
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isTextField(
-        /* [retval][out] */ BOOL *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isTextField(_Out_ BOOL*);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE rectOnScreen( 
-        /* [retval][out] */ LPRECT rect);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE rectOnScreen(_Out_ LPRECT);
+    virtual HRESULT STDMETHODCALLTYPE replaceCharactersInRange(int startTarget, int endTarget, _In_ BSTR replacementString, int index);
+    virtual HRESULT STDMETHODCALLTYPE selectedRange(_Out_ int* start, _Out_ int* end);
+    virtual HRESULT STDMETHODCALLTYPE setAutofilled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isAutofilled(_Out_ BOOL*);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceCharactersInRange( 
-        /* [in] */ int startTarget,
-        /* [in] */ int endTarget,
-        /* [in] */ BSTR replacementString,
-        /* [in] */ int index);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectedRange( 
-        /* [out] */ int *start,
-        /* [out] */ int *end);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAutofilled( 
-        /* [in] */ BOOL filled);
-
-    virtual HRESULT STDMETHODCALLTYPE isAutofilled(
-        /* [retval][out] */ BOOL *result);
-    
</del><span class="cx">     // IFormPromptAdditions
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isUserEdited( 
-        /* [retval][out] */ BOOL *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isUserEdited(_Out_ BOOL*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setValueForUser(
-        /* [in] */ BSTR value);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setValueForUser(_In_ BSTR);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMHTMLTextAreaElement : public DOMHTMLElement, public IDOMHTMLTextAreaElement, public IFormPromptAdditions
</span><span class="lines">@@ -2037,321 +2343,384 @@
</span><span class="cx">     DOMHTMLTextAreaElement(WebCore::Element* e) : DOMHTMLElement(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMHTMLElement::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMHTMLElement::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMHTMLElement::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMHTMLElement::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMHTMLElement::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMHTMLElement::nodeType(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::firstChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMHTMLElement::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result)
+    {
+        return DOMHTMLElement::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode *refChild, _COM_Outptr_opt_ IDOMNode** result) 
+    { 
+        return DOMHTMLElement::insertBefore(newChild, refChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::replaceChild(newChild, oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result) 
+    {
+        return DOMHTMLElement::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::appendChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMHTMLElement::normalize(); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMHTMLElement::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_  BOOL* result)
+    { 
+        return DOMHTMLElement::isSameNode(other, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    { 
+        return DOMHTMLElement::isEqualNode(other, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE tagName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR* result) 
+    {
+        return DOMHTMLElement::tagName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_  BSTR value)
+    {
+        return DOMHTMLElement::setAttribute(name, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttribute( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeAttribute(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNode(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr* newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNode(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr* oldAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::removeAttributeNode(oldAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList** result) 
+    {
+        return DOMHTMLElement::getElementsByTagName(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName)
+    {
+        return DOMHTMLElement::removeAttributeNS(namespaceURI, localName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::setAttributeNodeNS(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result) 
+    {
+        return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result) 
+    {
+        return DOMHTMLElement::hasAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE focus()
+    {
+        return DOMHTMLElement::focus();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE blur() 
+    {
+        return DOMHTMLElement::blur();
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE idName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE idName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::idName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setIdName( 
-        /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setIdName(_In_ BSTR idName)
+    {
+        return DOMHTMLElement::setIdName(idName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::title(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR title)
+    {
+        return DOMHTMLElement::setTitle(title);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lang( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lang(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::lang(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setLang( 
-        /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setLang(_In_ BSTR lang)
+    {
+        return DOMHTMLElement::setLang(lang);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dir( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dir(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::dir(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDir( 
-        /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDir(_In_ BSTR dir)
+    {
+        return DOMHTMLElement::setDir(dir);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE className( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE className(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::className(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setClassName( 
-        /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setClassName(_In_ BSTR className)
+    {
+        return DOMHTMLElement::setClassName(className);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerHTML( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerHTML(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerHTML(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 
-        /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerHTML(_In_ BSTR html) 
+    {
+        return DOMHTMLElement::setInnerHTML(html);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerText( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerText(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerText( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerText(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setInnerText(text);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLTextArea
</span><del>-    virtual HRESULT STDMETHODCALLTYPE defaultValue( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDefaultValue( 
-        /* [in] */ BSTR val);
-    
-    virtual HRESULT STDMETHODCALLTYPE form( 
-        /* [retval][out] */ IDOMHTMLElement **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE accessKey( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAccessKey( 
-        /* [in] */ BSTR key);
-    
-    virtual HRESULT STDMETHODCALLTYPE cols( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCols( 
-        /* [in] */ int cols);
-    
-    virtual HRESULT STDMETHODCALLTYPE disabled( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDisabled( 
-        /* [in] */ BOOL disabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE name( 
-        /* [retval][out] */ BSTR *name);
-    
-    virtual HRESULT STDMETHODCALLTYPE setName( 
-        /* [in] */ BSTR name);
-    
-    virtual HRESULT STDMETHODCALLTYPE readOnly( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setReadOnly( 
-        /* [in] */ BOOL readOnly);
-    
-    virtual HRESULT STDMETHODCALLTYPE rows( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setRows( 
-        /* [in] */ int rows);
-    
-    virtual HRESULT STDMETHODCALLTYPE tabIndex( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTabIndex( 
-        /* [in] */ int tabIndex);
-    
-    virtual HRESULT STDMETHODCALLTYPE type( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE value( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setValue( 
-        /* [in] */ BSTR value);
-        
-    virtual HRESULT STDMETHODCALLTYPE select( void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE defaultValue(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setDefaultValue(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE form(_COM_Outptr_opt_ IDOMHTMLElement**);
+    virtual HRESULT STDMETHODCALLTYPE accessKey(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setAccessKey(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE cols(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setCols(int);
+    virtual HRESULT STDMETHODCALLTYPE disabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDisabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE name(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE readOnly(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setReadOnly(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE rows(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setRows(int);
+    virtual HRESULT STDMETHODCALLTYPE tabIndex(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setTabIndex(int);
+    virtual HRESULT STDMETHODCALLTYPE type(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE value(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setValue(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE select();
</ins><span class="cx"> 
</span><span class="cx">     // IFormPromptAdditions
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isUserEdited( 
-        /* [retval][out] */ BOOL *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isUserEdited(_Out_ BOOL*);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DOMHTMLIFrameElement : public DOMHTMLElement, public IDOMHTMLIFrameElement
</span><span class="lines">@@ -2362,258 +2731,360 @@
</span><span class="cx">     DOMHTMLIFrameElement(WebCore::Element* e) : DOMHTMLElement(e) {}
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return DOMHTMLElement::AddRef(); }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
</span><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::throwException(exceptionMessage, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::evaluateWebScript(script, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeWebScriptKey(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation)
+    {
+        return DOMHTMLElement::stringRepresentation(stringRepresentation);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result)
+    {
+        return DOMHTMLElement::webScriptValueAtIndex(index, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val)
+    {
+        return DOMHTMLElement::setWebScriptValueAtIndex(index, val);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description)
+    {
+        return DOMHTMLElement::setException(description);
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMNode
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeName(__deref_opt_out BSTR* result) 
+    {
+        return DOMHTMLElement::nodeName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeValue( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeValue(__deref_opt_out BSTR* result) 
+    {
+        return DOMHTMLElement::nodeValue(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setNodeValue( 
-        /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setNodeValue(_In_ BSTR value)
+    {
+        return DOMHTMLElement::setNodeValue(value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nodeType( 
-        /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nodeType(_Out_ unsigned short* result)
+    {
+        return DOMHTMLElement::nodeType(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE parentNode( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE parentNode(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::parentNode(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE childNodes( 
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE childNodes(_COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::childNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE firstChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::firstChild(result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastChild( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastChild(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::lastChild(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE previousSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE previousSibling(_COM_Outptr_opt_ IDOMNode** result)
+    { return DOMHTMLElement::previousSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE nextSibling( 
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE nextSibling(_COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::nextSibling(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE attributes( 
-        /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE attributes(_COM_Outptr_opt_ IDOMNamedNodeMap** result)
+    {
+        return DOMHTMLElement::attributes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ownerDocument( 
-        /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ownerDocument(_COM_Outptr_opt_ IDOMDocument** result) 
+    {
+        return DOMHTMLElement::ownerDocument(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE insertBefore( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *refChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE insertBefore(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode *refChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::insertBefore(newChild, refChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceChild( 
-        /* [in] */ IDOMNode *newChild,
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceChild(_In_opt_ IDOMNode* newChild, _In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::replaceChild(newChild, oldChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::removeChild(oldChild, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE appendChild( 
-        /* [in] */ IDOMNode *oldChild,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE appendChild(_In_opt_ IDOMNode* oldChild, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::appendChild(oldChild, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasChildNodes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasChildNodes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasChildNodes(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cloneNode( 
-        /* [in] */ BOOL deep,
-        /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cloneNode(BOOL deep, _COM_Outptr_opt_ IDOMNode** result)
+    {
+        return DOMHTMLElement::cloneNode(deep, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE normalize()
+    {
+        return DOMHTMLElement::normalize();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSupported( 
-        /* [in] */ BSTR feature,
-        /* [in] */ BSTR version,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSupported(_In_ BSTR feature, _In_ BSTR version, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSupported(feature, version, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE namespaceURI( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE namespaceURI(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::namespaceURI(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE prefix( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE prefix(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::prefix(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setPrefix( 
-        /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setPrefix(_In_ BSTR prefix)
+    {
+        return DOMHTMLElement::setPrefix(prefix);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE localName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE localName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::localName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributes( 
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributes(_Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributes(result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isSameNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isSameNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::isSameNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEqualNode( 
-        /* [in] */ IDOMNode* other,
-        /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isEqualNode(_In_opt_ IDOMNode* other, _Out_ BOOL* result) 
+    {
+        return DOMHTMLElement::isEqualNode(other, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE textContent( 
-        /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE textContent(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::textContent(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTextContent( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextContent(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setTextContent(text);
+    }
</ins><span class="cx">     
</span><span class="cx">     // IDOMElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE tagName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE tagName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::tagName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttribute(_In_ BSTR name, __deref_opt_out BSTR* result)
+    { 
+        return DOMHTMLElement::getAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttribute( 
-        /* [in] */ BSTR name,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttribute(_In_ BSTR name, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttribute(name, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttribute( 
-        /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttribute(_In_ BSTR name)
+    {
+        return DOMHTMLElement::removeAttribute(name);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNode( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNode(_In_ BSTR name, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::getAttributeNode(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNode( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNode(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result) 
+    {
+        return DOMHTMLElement::setAttributeNode(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode( 
-        /* [in] */ IDOMAttr *oldAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(_In_opt_ IDOMAttr *oldAttr, _COM_Outptr_opt_ IDOMAttr** result)
+    {
+        return DOMHTMLElement::removeAttributeNode(oldAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(_In_ BSTR name, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagName(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, __deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR qualifiedName,
-        /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR qualifiedName, _In_ BSTR value)
+    {
+        return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName)
+    {
+        return DOMHTMLElement::removeAttributeNS(namespaceURI, localName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMAttr** result)
+    { 
+        return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS( 
-        /* [in] */ IDOMAttr *newAttr,
-        /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(_In_opt_ IDOMAttr *newAttr, _COM_Outptr_opt_ IDOMAttr** result) 
+    {
+        return DOMHTMLElement::setAttributeNodeNS(newAttr, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _COM_Outptr_opt_ IDOMNodeList** result)
+    {
+        return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttribute( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttribute(_In_ BSTR name, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttribute(name, result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS( 
-        /* [in] */ BSTR namespaceURI,
-        /* [in] */ BSTR localName,
-        /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(_In_ BSTR namespaceURI, _In_ BSTR localName, _Out_ BOOL* result)
+    {
+        return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE focus()
+    {
+        return DOMHTMLElement::focus();
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE blur()
+    {
+        return DOMHTMLElement::blur();
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE idName( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE idName(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::idName(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setIdName( 
-        /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setIdName(_In_ BSTR idName)
+    {
+        return DOMHTMLElement::setIdName(idName);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR* result)
+    { 
+        return DOMHTMLElement::title(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTitle( 
-        /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR title)
+    {
+        return DOMHTMLElement::setTitle(title);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lang( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lang(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::lang(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setLang( 
-        /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setLang(_In_ BSTR lang) 
+    {
+        return DOMHTMLElement::setLang(lang);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dir( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dir(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::dir(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDir( 
-        /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDir(_In_ BSTR dir)
+    {
+        return DOMHTMLElement::setDir(dir); 
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE className( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE className(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::className(result);
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setClassName( 
-        /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setClassName(_In_ BSTR className)
+    {
+        return DOMHTMLElement::setClassName(className);
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerHTML( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerHTML(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerHTML(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerHTML( 
-        /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerHTML(_In_ BSTR html)
+    {
+        return DOMHTMLElement::setInnerHTML(html);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE innerText( 
-        /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE innerText(__deref_opt_out BSTR* result)
+    {
+        return DOMHTMLElement::innerText(result);
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setInnerText( 
-        /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInnerText(_In_ BSTR text)
+    {
+        return DOMHTMLElement::setInnerText(text); 
+    }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMHTMLIFrameElement
</span><del>-    virtual HRESULT STDMETHODCALLTYPE contentFrame( 
-        /* [retval][out] */ IWebFrame **result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE contentFrame(_COM_Outptr_opt_ IWebFrame**);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinDefaultDownloadDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DefaultDownloadDelegate.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DefaultDownloadDelegate.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DefaultDownloadDelegate.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> // DefaultDownloadDelegate ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DefaultDownloadDelegate::DefaultDownloadDelegate()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;DefaultDownloadDelegate&quot;);
</span><span class="lines">@@ -75,9 +74,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DefaultDownloadDelegate::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebDownloadDelegate))
</span><span class="lines">@@ -89,12 +90,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE DefaultDownloadDelegate::AddRef()
</del><ins>+ULONG DefaultDownloadDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE DefaultDownloadDelegate::Release()
</del><ins>+ULONG DefaultDownloadDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -103,10 +104,13 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::decideDestinationWithSuggestedFilename(IWebDownload *download, BSTR filename)
</del><ins>+HRESULT DefaultDownloadDelegate::decideDestinationWithSuggestedFilename(_In_opt_ IWebDownload* download, _In_ BSTR filename)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - decideDestinationWithSuggestedFilename %s&quot;, download, String(filename, SysStringLen(filename)).ascii().data());
</span><span class="cx"> 
</span><ins>+    if (!download)
+        return E_POINTER;
+
</ins><span class="cx">     WCHAR pathChars[MAX_PATH];
</span><span class="cx">     if (FAILED(SHGetFolderPath(0, CSIDL_DESKTOPDIRECTORY  | CSIDL_FLAG_CREATE, 0, 0, pathChars))) {
</span><span class="cx">         if (FAILED(download-&gt;setDestination(filename, true))) {
</span><span class="lines">@@ -138,93 +142,98 @@
</span><span class="cx">     }
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didCancelAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT DefaultDownloadDelegate::didCancelAuthenticationChallenge(_In_opt_ IWebDownload* download, _In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didCancelAuthenticationChallenge %p&quot;, download, challenge);
</span><del>-    download = 0;
-    challenge = 0;
</del><ins>+    download = nullptr;
+    challenge = nullptr;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didCreateDestination(IWebDownload* download, BSTR destination)
</del><ins>+HRESULT DefaultDownloadDelegate::didCreateDestination(_In_opt_ IWebDownload* download, _In_ BSTR destination)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didCreateDestination %s&quot;, download, String(destination, SysStringLen(destination)).ascii().data());
</span><del>-    download = 0;
-    destination = 0;
</del><ins>+    download = nullptr;
+    destination = nullptr;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didReceiveAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT DefaultDownloadDelegate::didReceiveAuthenticationChallenge(_In_opt_ IWebDownload* download, _In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didReceiveAuthenticationChallenge %p&quot;, download, challenge);
</span><del>-    download = 0;
-    challenge = 0;
</del><ins>+    download = nullptr;
+    challenge = nullptr;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didReceiveDataOfLength(IWebDownload* download, unsigned length)
</del><ins>+HRESULT DefaultDownloadDelegate::didReceiveDataOfLength(_In_opt_ IWebDownload* download, unsigned length)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didReceiveDataOfLength %i&quot;, download, length);
</span><del>-    download = 0;
</del><ins>+    download = nullptr;
</ins><span class="cx">     length = 0;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didReceiveResponse(IWebDownload* download, IWebURLResponse* response)
</del><ins>+HRESULT DefaultDownloadDelegate::didReceiveResponse(_In_opt_ IWebDownload* download, _In_opt_ IWebURLResponse* response)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didReceiveResponse %p&quot;, download, response);
</span><del>-    download = 0;
</del><ins>+    download = nullptr;
</ins><span class="cx">     response = 0;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::shouldDecodeSourceDataOfMIMEType(IWebDownload* download, BSTR encodingType, BOOL* shouldDecode)
</del><ins>+HRESULT DefaultDownloadDelegate::shouldDecodeSourceDataOfMIMEType(_In_opt_ IWebDownload* download, _In_ BSTR encodingType, _Out_ BOOL* shouldDecode)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - shouldDecodeSourceDataOfMIMEType %s&quot;, download, String(encodingType, SysStringLen(encodingType)).ascii().data());
</span><del>-    download = 0;
-    encodingType = 0;
</del><ins>+    if (!shouldDecode)
+        return E_POINTER;
+    download = nullptr;
+    encodingType = nullptr;
</ins><span class="cx">     *shouldDecode = false;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::willResumeWithResponse(IWebDownload* download, IWebURLResponse* response, long long fromByte)
</del><ins>+HRESULT DefaultDownloadDelegate::willResumeWithResponse(_In_opt_ IWebDownload* download, _In_opt_ IWebURLResponse* response, long long fromByte)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - willResumeWithResponse %p, %q&quot;, download, response, fromByte);
</span><del>-    download = 0;
-    response = 0;
</del><ins>+    download = nullptr;
+    response = nullptr;
</ins><span class="cx">     fromByte = 0;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::willSendRequest(IWebDownload* download, IWebMutableURLRequest* request,  
-                                                                 IWebURLResponse* redirectResponse, IWebMutableURLRequest** finalRequest)
</del><ins>+HRESULT DefaultDownloadDelegate::willSendRequest(_In_opt_ IWebDownload* download, _In_opt_ IWebMutableURLRequest* request,
+    _In_opt_ IWebURLResponse* redirectResponse, _COM_Outptr_opt_ IWebMutableURLRequest** finalRequest)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - willSendRequest %p %p&quot;, download, request, redirectResponse);
</span><del>-    download = 0;
-    redirectResponse = 0;
</del><ins>+    if (!finalRequest)
+        return E_POINTER;
+
+    download = nullptr;
+    redirectResponse = nullptr;
</ins><span class="cx">     *finalRequest = request;
</span><span class="cx">     (*finalRequest)-&gt;AddRef();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didBegin(IWebDownload* download)
</del><ins>+HRESULT DefaultDownloadDelegate::didBegin(_In_opt_ IWebDownload* download)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didBegin&quot;, download);
</span><span class="cx">     registerDownload(download);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didFinish(IWebDownload* download)
</del><ins>+HRESULT DefaultDownloadDelegate::didFinish(_In_opt_ IWebDownload* download)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didFinish&quot;, download);
</span><span class="cx">     unregisterDownload(download);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didFailWithError(IWebDownload* download, IWebError* error)
</del><ins>+HRESULT DefaultDownloadDelegate::didFailWithError(_In_opt_ IWebDownload* download, _In_opt_ IWebError* error)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;DefaultDownloadDelegate %p - didFailWithError %p&quot;, download, error);
</span><span class="cx">     unregisterDownload(download);
</span><del>-    error = 0;
</del><ins>+    error = nullptr;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinDefaultDownloadDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DefaultDownloadDelegate.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DefaultDownloadDelegate.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DefaultDownloadDelegate.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -42,29 +42,29 @@
</span><span class="cx">     ~DefaultDownloadDelegate();
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebDownloadDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE decideDestinationWithSuggestedFilename(IWebDownload *download, BSTR filename);
-    virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge(IWebDownload* download,  IWebURLAuthenticationChallenge* challenge);
-    virtual HRESULT STDMETHODCALLTYPE didCreateDestination(IWebDownload* download,  BSTR destination);
-    virtual HRESULT STDMETHODCALLTYPE didFailWithError(IWebDownload* download,  IWebError* error);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge(IWebDownload* download,  IWebURLAuthenticationChallenge* challenge);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveDataOfLength(IWebDownload* download,  unsigned length);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveResponse(IWebDownload* download,  IWebURLResponse* response);
-    virtual HRESULT STDMETHODCALLTYPE shouldDecodeSourceDataOfMIMEType(IWebDownload* download,  BSTR encodingType, BOOL* shouldDecode);
-    virtual HRESULT STDMETHODCALLTYPE willResumeWithResponse(IWebDownload* download,  IWebURLResponse* response,  long long fromByte);
-    virtual HRESULT STDMETHODCALLTYPE willSendRequest(IWebDownload* download, IWebMutableURLRequest* request,  IWebURLResponse* redirectResponse, IWebMutableURLRequest** finalRequest);
-    virtual HRESULT STDMETHODCALLTYPE didBegin(IWebDownload* download);
-    virtual HRESULT STDMETHODCALLTYPE didFinish(IWebDownload* download);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE decideDestinationWithSuggestedFilename(_In_opt_ IWebDownload*, _In_ BSTR filename);
+    virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge(_In_opt_ IWebDownload*, _In_opt_ IWebURLAuthenticationChallenge*);
+    virtual HRESULT STDMETHODCALLTYPE didCreateDestination(_In_opt_ IWebDownload*, _In_ BSTR destination);
+    virtual HRESULT STDMETHODCALLTYPE didFailWithError(_In_opt_ IWebDownload*, _In_opt_ IWebError*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge(_In_opt_ IWebDownload*, _In_opt_ IWebURLAuthenticationChallenge*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveDataOfLength(_In_opt_ IWebDownload*,  unsigned length);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveResponse(_In_opt_ IWebDownload*, _In_opt_ IWebURLResponse*);
+    virtual HRESULT STDMETHODCALLTYPE shouldDecodeSourceDataOfMIMEType(_In_opt_ IWebDownload*, _In_ BSTR encodingType, _Out_ BOOL* shouldDecode);
+    virtual HRESULT STDMETHODCALLTYPE willResumeWithResponse(_In_opt_ IWebDownload*, _In_opt_ IWebURLResponse*, long long fromByte);
+    virtual HRESULT STDMETHODCALLTYPE willSendRequest(_In_opt_ IWebDownload*, _In_opt_ IWebMutableURLRequest*, _In_opt_ IWebURLResponse* redirectResponse, _COM_Outptr_opt_ IWebMutableURLRequest** finalRequest);
+    virtual HRESULT STDMETHODCALLTYPE didBegin(_In_opt_ IWebDownload*);
+    virtual HRESULT STDMETHODCALLTYPE didFinish(_In_opt_ IWebDownload*);
</ins><span class="cx"> 
</span><span class="cx">     // DefaultDownloadDelegate
</span><span class="cx">     void registerDownload(IWebDownload*);
</span><span class="cx">     void unregisterDownload(IWebDownload*);
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> 
</span><span class="cx">     HashSet&lt;IWebDownload*&gt; m_downloads;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinDefaultPolicyDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DefaultPolicyDelegate.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DefaultPolicyDelegate.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DefaultPolicyDelegate.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> // DefaultPolicyDelegate ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> DefaultPolicyDelegate::DefaultPolicyDelegate()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;DefaultPolicyDelegate&quot;);
</span><span class="lines">@@ -70,9 +69,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DefaultPolicyDelegate::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebPolicyDelegate))
</span><span class="lines">@@ -84,12 +85,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE DefaultPolicyDelegate::AddRef()
</del><ins>+ULONG DefaultPolicyDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE DefaultPolicyDelegate::Release()
</del><ins>+ULONG DefaultPolicyDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -98,8 +99,8 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DefaultPolicyDelegate::decidePolicyForNavigationAction(IWebView* webView, IPropertyBag* actionInformation, 
-    IWebURLRequest* request, IWebFrame* /*frame*/, IWebPolicyDecisionListener* listener)
</del><ins>+HRESULT DefaultPolicyDelegate::decidePolicyForNavigationAction(_In_opt_ IWebView* webView, _In_opt_ IPropertyBag* actionInformation,
+    _In_opt_ IWebURLRequest* request, _In_opt_ IWebFrame* /*frame*/, _In_opt_ IWebPolicyDecisionListener* listener)
</ins><span class="cx"> {
</span><span class="cx">     int navType = 0;
</span><span class="cx">     _variant_t var;
</span><span class="lines">@@ -128,23 +129,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::decidePolicyForNewWindowAction(
-    /*[in]*/ IWebView* /*webView*/, 
-    /*[in]*/ IPropertyBag* /*actionInformation*/, 
-    /*[in]*/ IWebURLRequest* /*request*/, 
-    /*[in]*/ BSTR /*frameName*/, 
-    /*[in]*/ IWebPolicyDecisionListener* listener)
</del><ins>+HRESULT DefaultPolicyDelegate::decidePolicyForNewWindowAction(_In_opt_ IWebView* /*webView*/, _In_opt_ IPropertyBag* /*actionInformation*/,
+    _In_opt_ IWebURLRequest* /*request*/, _In_ BSTR /*frameName*/, _In_opt_ IWebPolicyDecisionListener* listener)
</ins><span class="cx"> {
</span><ins>+    if (!listener)
+        return E_POINTER;
+
</ins><span class="cx">     listener-&gt;use();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::decidePolicyForMIMEType(
-    /*[in]*/ IWebView* webView, 
-    /*[in]*/ BSTR type, 
-    /*[in]*/ IWebURLRequest* request, 
-    /*[in]*/ IWebFrame* /*frame*/, 
-    /*[in]*/ IWebPolicyDecisionListener* listener)
</del><ins>+HRESULT DefaultPolicyDelegate::decidePolicyForMIMEType(_In_opt_ IWebView* webView, _In_ BSTR type, _In_opt_ IWebURLRequest* request,
+    _In_opt_ IWebFrame* /*frame*/, _In_opt_ IWebPolicyDecisionListener* listener)
</ins><span class="cx"> {
</span><span class="cx">     BOOL canShowMIMEType;
</span><span class="cx">     if (FAILED(webView-&gt;canShowMIMEType(type, &amp;canShowMIMEType)))
</span><span class="lines">@@ -172,11 +168,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::unableToImplementPolicyWithError(
-    /*[in]*/ IWebView* /*webView*/, 
-    /*[in]*/ IWebError* error, 
-    /*[in]*/ IWebFrame* frame)
</del><ins>+HRESULT DefaultPolicyDelegate::unableToImplementPolicyWithError(_In_opt_ IWebView* /*webView*/, _In_opt_ IWebError* error, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><ins>+    if (!error || !frame)
+        return E_POINTER;
+
</ins><span class="cx">     BString errorStr;
</span><span class="cx">     error-&gt;localizedDescription(&amp;errorStr);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinDefaultPolicyDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/DefaultPolicyDelegate.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/DefaultPolicyDelegate.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/DefaultPolicyDelegate.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -37,39 +37,24 @@
</span><span class="cx">     ~DefaultPolicyDelegate();
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebPolicyDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE decidePolicyForNavigationAction( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IPropertyBag *actionInformation,
-        /* [in] */ IWebURLRequest *request,
-        /* [in] */ IWebFrame *frame,
-        /* [in] */ IWebPolicyDecisionListener *listener);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE decidePolicyForNavigationAction(_In_opt_ IWebView*, _In_opt_ IPropertyBag* actionInformation,
+        _In_opt_ IWebURLRequest*, _In_opt_ IWebFrame*, _In_opt_ IWebPolicyDecisionListener*);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE decidePolicyForNewWindowAction( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IPropertyBag *actionInformation,
-        /* [in] */ IWebURLRequest *request,
-        /* [in] */ BSTR frameName,
-        /* [in] */ IWebPolicyDecisionListener *listener);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE decidePolicyForNewWindowAction(_In_opt_ IWebView*, _In_opt_ IPropertyBag* actionInformation,
+        _In_opt_ IWebURLRequest*, _In_ BSTR frameName, _In_opt_ IWebPolicyDecisionListener*);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE decidePolicyForMIMEType( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR type,
-        /* [in] */ IWebURLRequest *request,
-        /* [in] */ IWebFrame *frame,
-        /* [in] */ IWebPolicyDecisionListener *listener);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE decidePolicyForMIMEType(_In_opt_ IWebView*, _In_ BSTR type, _In_opt_ IWebURLRequest*,
+        _In_opt_ IWebFrame*, _In_opt_ IWebPolicyDecisionListener*);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE unableToImplementPolicyWithError( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebError *error,
-        /* [in] */ IWebFrame *frame);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE unableToImplementPolicyWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebFrame*);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // DefaultPolicyDelegate_h
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2Accessible2idl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -349,6 +349,9 @@
</span><span class="cx"> 
</span><span class="cx"> **/
</span><span class="cx"> 
</span><ins>+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
</ins><span class="cx"> import &quot;objidl.idl&quot;;
</span><span class="cx"> import &quot;oaidl.idl&quot;;
</span><span class="cx"> import &quot;oleacc.idl&quot;;
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2Accessible2_2idl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -51,6 +51,9 @@
</span><span class="cx">  * 
</span><span class="cx">  ************************************************************************/ 
</span><span class="cx"> 
</span><ins>+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
</ins><span class="cx"> import &quot;objidl.idl&quot;;
</span><span class="cx"> import &quot;oaidl.idl&quot;;
</span><span class="cx"> import &quot;oleacc.idl&quot;;
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2AccessibleApplicationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -51,6 +51,8 @@
</span><span class="cx">  * 
</span><span class="cx">  ************************************************************************/ 
</span><span class="cx"> 
</span><ins>+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
</ins><span class="cx"> 
</span><span class="cx"> import &quot;objidl.idl&quot;;
</span><span class="cx"> import &quot;oaidl.idl&quot;;
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2AccessibleEditableTextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleEditableText.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleEditableText.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleEditableText.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,262 +1,265 @@
</span><del>-/*************************************************************************
- *
- *  File Name (AccessibleEditableText.idl)
- * 
- *  IAccessible2 IDL Specification 
- * 
- *  Copyright (c) 2007, 2012 Linux Foundation 
- *  Copyright (c) 2006 IBM Corporation 
- *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
- *  All rights reserved. 
- *   
- *   
- *  Redistribution and use in source and binary forms, with or without 
- *  modification, are permitted provided that the following conditions 
- *  are met: 
- *   
- *   1. Redistributions of source code must retain the above copyright 
- *      notice, this list of conditions and the following disclaimer. 
- *   
- *   2. Redistributions in binary form must reproduce the above 
- *      copyright notice, this list of conditions and the following 
- *      disclaimer in the documentation and/or other materials 
- *      provided with the distribution. 
- *
- *   3. Neither the name of the Linux Foundation nor the names of its 
- *      contributors may be used to endorse or promote products 
- *      derived from this software without specific prior written 
- *      permission. 
- *   
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- *  CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
- *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
- *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
- *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
- *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- *   
- *  This BSD License conforms to the Open Source Initiative &quot;Simplified 
- *  BSD License&quot; as published at: 
- *  http://www.opensource.org/licenses/bsd-license.php 
- *   
- *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
- *  mark may be used in accordance with the Linux Foundation Trademark 
- *  Policy to indicate compliance with the IAccessible2 specification. 
- * 
- ************************************************************************/ 
-
-import &quot;objidl.idl&quot;;
-import &quot;oaidl.idl&quot;;
-import &quot;oleacc.idl&quot;;
-import &quot;IA2CommonTypes.idl&quot;;
-
-/** @brief This interface provides clipboard capability to text objects.
-
- This interface is typically used in conjunction with the IAccessibleText 
-  interface and complements that interface with the additional capability of
-  clipboard operations.  Note that even a read only text object can support
-  the copy capability so this interface is not limited to editable objects.
-
- The substrings used with this interface are specified as follows:
-  If startOffset is less than endOffset, the substring starts with the 
-  character at startOffset and ends with the character just before endOffset.
-  If endOffset is lower than startOffset,  the result is the same as a call 
-  with the two arguments exchanged. The whole text can be defined by passing 
-  the indices zero and IAccessibleText::nCharacters. If both indices have the 
-  same value, an empty string is defined. 
-
- Refer to the @ref _specialOffsets
-  &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-  for information about a special offset constant that can be used in %IAccessibleEditableText methods.
-*/
-[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)]
-interface IAccessibleEditableText : IUnknown
-{
-
-  /** @brief Copies the text range into the clipboard.
-    
-   The selection is set to the specified offsets and then selection is copied into
-   the system clipboard.
-        
-   @param [in] startOffset
-    Start index of the text to moved into the clipboard.
-    The valid range is 0..length.
-   @param [in] endOffset
-    End index of the text to moved into the clipboard.
-    The valid range is 0..length.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleEditableText
-    methods.
-   @deprecated This function is available via the application's GUI.
-  */
-  HRESULT copyText
-    (
-     [in] long startOffset, 
-     [in] long endOffset 
-    );
-
-  /** @brief Deletes a range of text.
-    
-   The text between and including the two given indices is deleted
-    from the text represented by this object.
-
-   @param [in] startOffset
-    Start index of the text to be deleted.
-    The valid range is 0..length.
-   @param [in] endOffset
-    End index of the text to be deleted.
-    The valid range is 0..length.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleEditableText
-    methods.
-  */
-  HRESULT deleteText
-    (
-     [in] long startOffset, 
-     [in] long endOffset 
-    );
-  
-  /** @brief Inserts text at the specified position.
-    
-   The specified string is inserted at the given index into the text
-    represented by this object.
-
-   @param [in] offset
-    Index at which to insert the text.
-    The valid range is 0..length.
-    Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleEditableText
-    methods.
-   @param [in] text
-    Text that is inserted.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  HRESULT insertText
-    (
-     [in] long offset,
-     [in] BSTR *text
-    );
-  
-  /** @brief Deletes a range of text and copies it to the clipboard.
-    
-   The selection is set to the specified offsets, the selection is then copied into
-    the system clipboard, and then the selection is deleted.
-
-   @param [in] startOffset
-    Start index of the text to be deleted.
-    The valid range is 0..length.
-   @param [in] endOffset     
-    End index of the text to be deleted.
-    The valid range is 0..length.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleEditableText
-    methods.
-   @deprecated This function is available via the application's GUI.
-  */
-  HRESULT cutText
-    (
-     [in] long startOffset,
-     [in] long endOffset
-    );
-
-  /** @brief Pastes content from the clipboard.
-    
-   Any existing selection is removed, the clipboard content is then pasted into 
-    this object's text at the given offset.  This method is similar to the insertText
-    method.  If the index is not valid the system clipboard content is not inserted. The
-    behavior is the same as    when Ctrl+V is used, i.e. the pasted contents are not
-    necessarily plain text.
-  
-   @param [in] offset
-    Index at which to insert the content from the system clipboard into
-    the text represented by this object.
-    The valid range is 0..length.
-    Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleEditableText
-    methods.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @deprecated This function is available via the application's GUI.
-  */
-  HRESULT pasteText
-    (
-     [in] long offset
-    );
-
-  /** @brief Replaces text.
-    
-   The text between the two given indices is replaced by the specified 
-    replacement string. This method is equivalent to calling first
-    IAccessibleEditableText::deleteText with the two indices and then 
-    calling IAccessibleEditableText::insertText with the replacement text
-    at the start index.
-       
-   @param [in] startOffset
-    Start index of the text to be replaced.
-    The valid range is 0..length.
-   @param [in] endOffset
-    End index of the text to be replaced.
-    The valid range is 0..length.
-   @param [in] text
-    The Text that replaces the text between the given indices.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleEditableText
-    methods.
-  */
-  HRESULT replaceText
-    (
-     [in] long startOffset,
-     [in] long endOffset,
-     [in] BSTR *text
-    );
-
-  /** @brief Replaces the attributes of a text range by the given set of attributes.
-    
-   Sets the attributes for the text between the two given indices. The old
-    attributes are replaced by the new list of attributes.
-        
-   @param [in] startOffset
-    Start index of the text whose attributes are modified.
-    The valid range is 0..length.
-   @param [in] endOffset
-    End index of the text whose attributes are modified.
-    The valid range is 0..length.
-   @param [in] attributes
-    Set of attributes that replaces the old list of attributes of
-    the specified text portion.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleEditableText
-    methods.
-  */
-  HRESULT setAttributes
-    (
-     [in] long startOffset,
-     [in] long endOffset,
-     [in] BSTR *attributes
-    );
-}
-
</del><ins>+/*************************************************************************
+ *
+ *  File Name (AccessibleEditableText.idl)
+ * 
+ *  IAccessible2 IDL Specification 
+ * 
+ *  Copyright (c) 2007, 2012 Linux Foundation 
+ *  Copyright (c) 2006 IBM Corporation 
+ *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
+ *  All rights reserved. 
+ *   
+ *   
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met: 
+ *   
+ *   1. Redistributions of source code must retain the above copyright 
+ *      notice, this list of conditions and the following disclaimer. 
+ *   
+ *   2. Redistributions in binary form must reproduce the above 
+ *      copyright notice, this list of conditions and the following 
+ *      disclaimer in the documentation and/or other materials 
+ *      provided with the distribution. 
+ *
+ *   3. Neither the name of the Linux Foundation nor the names of its 
+ *      contributors may be used to endorse or promote products 
+ *      derived from this software without specific prior written 
+ *      permission. 
+ *   
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+ *  CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+ *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+ *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+ *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+ *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
+ *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
+ *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *   
+ *  This BSD License conforms to the Open Source Initiative &quot;Simplified 
+ *  BSD License&quot; as published at: 
+ *  http://www.opensource.org/licenses/bsd-license.php 
+ *   
+ *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
+ *  mark may be used in accordance with the Linux Foundation Trademark 
+ *  Policy to indicate compliance with the IAccessible2 specification. 
+ * 
+ ************************************************************************/ 
+
+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
+import &quot;objidl.idl&quot;;
+import &quot;oaidl.idl&quot;;
+import &quot;oleacc.idl&quot;;
+import &quot;IA2CommonTypes.idl&quot;;
+
+/** @brief This interface provides clipboard capability to text objects.
+
+ This interface is typically used in conjunction with the IAccessibleText 
+  interface and complements that interface with the additional capability of
+  clipboard operations.  Note that even a read only text object can support
+  the copy capability so this interface is not limited to editable objects.
+
+ The substrings used with this interface are specified as follows:
+  If startOffset is less than endOffset, the substring starts with the 
+  character at startOffset and ends with the character just before endOffset.
+  If endOffset is lower than startOffset,  the result is the same as a call 
+  with the two arguments exchanged. The whole text can be defined by passing 
+  the indices zero and IAccessibleText::nCharacters. If both indices have the 
+  same value, an empty string is defined. 
+
+ Refer to the @ref _specialOffsets
+  &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+  for information about a special offset constant that can be used in %IAccessibleEditableText methods.
+*/
+[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)]
+interface IAccessibleEditableText : IUnknown
+{
+
+  /** @brief Copies the text range into the clipboard.
+    
+   The selection is set to the specified offsets and then selection is copied into
+   the system clipboard.
+        
+   @param [in] startOffset
+    Start index of the text to moved into the clipboard.
+    The valid range is 0..length.
+   @param [in] endOffset
+    End index of the text to moved into the clipboard.
+    The valid range is 0..length.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleEditableText
+    methods.
+   @deprecated This function is available via the application's GUI.
+  */
+  HRESULT copyText
+    (
+     [in] long startOffset, 
+     [in] long endOffset 
+    );
+
+  /** @brief Deletes a range of text.
+    
+   The text between and including the two given indices is deleted
+    from the text represented by this object.
+
+   @param [in] startOffset
+    Start index of the text to be deleted.
+    The valid range is 0..length.
+   @param [in] endOffset
+    End index of the text to be deleted.
+    The valid range is 0..length.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleEditableText
+    methods.
+  */
+  HRESULT deleteText
+    (
+     [in] long startOffset, 
+     [in] long endOffset 
+    );
+  
+  /** @brief Inserts text at the specified position.
+    
+   The specified string is inserted at the given index into the text
+    represented by this object.
+
+   @param [in] offset
+    Index at which to insert the text.
+    The valid range is 0..length.
+    Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleEditableText
+    methods.
+   @param [in] text
+    Text that is inserted.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  HRESULT insertText
+    (
+     [in] long offset,
+     [in] BSTR *text
+    );
+  
+  /** @brief Deletes a range of text and copies it to the clipboard.
+    
+   The selection is set to the specified offsets, the selection is then copied into
+    the system clipboard, and then the selection is deleted.
+
+   @param [in] startOffset
+    Start index of the text to be deleted.
+    The valid range is 0..length.
+   @param [in] endOffset     
+    End index of the text to be deleted.
+    The valid range is 0..length.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleEditableText
+    methods.
+   @deprecated This function is available via the application's GUI.
+  */
+  HRESULT cutText
+    (
+     [in] long startOffset,
+     [in] long endOffset
+    );
+
+  /** @brief Pastes content from the clipboard.
+    
+   Any existing selection is removed, the clipboard content is then pasted into 
+    this object's text at the given offset.  This method is similar to the insertText
+    method.  If the index is not valid the system clipboard content is not inserted. The
+    behavior is the same as    when Ctrl+V is used, i.e. the pasted contents are not
+    necessarily plain text.
+  
+   @param [in] offset
+    Index at which to insert the content from the system clipboard into
+    the text represented by this object.
+    The valid range is 0..length.
+    Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleEditableText
+    methods.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @deprecated This function is available via the application's GUI.
+  */
+  HRESULT pasteText
+    (
+     [in] long offset
+    );
+
+  /** @brief Replaces text.
+    
+   The text between the two given indices is replaced by the specified 
+    replacement string. This method is equivalent to calling first
+    IAccessibleEditableText::deleteText with the two indices and then 
+    calling IAccessibleEditableText::insertText with the replacement text
+    at the start index.
+       
+   @param [in] startOffset
+    Start index of the text to be replaced.
+    The valid range is 0..length.
+   @param [in] endOffset
+    End index of the text to be replaced.
+    The valid range is 0..length.
+   @param [in] text
+    The Text that replaces the text between the given indices.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleEditableText
+    methods.
+  */
+  HRESULT replaceText
+    (
+     [in] long startOffset,
+     [in] long endOffset,
+     [in] BSTR *text
+    );
+
+  /** @brief Replaces the attributes of a text range by the given set of attributes.
+    
+   Sets the attributes for the text between the two given indices. The old
+    attributes are replaced by the new list of attributes.
+        
+   @param [in] startOffset
+    Start index of the text whose attributes are modified.
+    The valid range is 0..length.
+   @param [in] endOffset
+    End index of the text whose attributes are modified.
+    The valid range is 0..length.
+   @param [in] attributes
+    Set of attributes that replaces the old list of attributes of
+    the specified text portion.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleEditableText
+    methods.
+  */
+  HRESULT setAttributes
+    (
+     [in] long startOffset,
+     [in] long endOffset,
+     [in] BSTR *attributes
+    );
+}
+
</ins></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2AccessibleRelationidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -51,6 +51,9 @@
</span><span class="cx">  * 
</span><span class="cx">  ************************************************************************/ 
</span><span class="cx"> 
</span><ins>+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
</ins><span class="cx"> import &quot;objidl.idl&quot;;
</span><span class="cx"> import &quot;oaidl.idl&quot;;
</span><span class="cx"> import &quot;oleacc.idl&quot;;
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2AccessibleStatesidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -51,6 +51,9 @@
</span><span class="cx">  * 
</span><span class="cx">  ************************************************************************/ 
</span><span class="cx"> 
</span><ins>+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
</ins><span class="cx"> import &quot;objidl.idl&quot;;
</span><span class="cx"> 
</span><span class="cx"> typedef long AccessibleStates;
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2AccessibleTextidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,684 +1,687 @@
</span><del>-/*************************************************************************
- *
- *  File Name (AccessibleText.idl)
- * 
- *  IAccessible2 IDL Specification 
- * 
- *  Copyright (c) 2007, 2013 Linux Foundation 
- *  Copyright (c) 2006 IBM Corporation 
- *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
- *  All rights reserved. 
- *   
- *   
- *  Redistribution and use in source and binary forms, with or without 
- *  modification, are permitted provided that the following conditions 
- *  are met: 
- *   
- *   1. Redistributions of source code must retain the above copyright 
- *      notice, this list of conditions and the following disclaimer. 
- *   
- *   2. Redistributions in binary form must reproduce the above 
- *      copyright notice, this list of conditions and the following 
- *      disclaimer in the documentation and/or other materials 
- *      provided with the distribution. 
- *
- *   3. Neither the name of the Linux Foundation nor the names of its 
- *      contributors may be used to endorse or promote products 
- *      derived from this software without specific prior written 
- *      permission. 
- *   
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- *  CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
- *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
- *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
- *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
- *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- *   
- *  This BSD License conforms to the Open Source Initiative &quot;Simplified 
- *  BSD License&quot; as published at: 
- *  http://www.opensource.org/licenses/bsd-license.php 
- *   
- *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
- *  mark may be used in accordance with the Linux Foundation Trademark 
- *  Policy to indicate compliance with the IAccessible2 specification. 
- * 
- ************************************************************************/ 
-
-import &quot;objidl.idl&quot;;
-import &quot;oaidl.idl&quot;;
-import &quot;oleacc.idl&quot;;
-import &quot;IA2CommonTypes.idl&quot;;
-
-/** A structure containing a substring and the start and end offsets in the enclosing string.

- IAccessibleText::newText and IAccessibleText::oldText return this struct.
-*/
-typedef struct IA2TextSegment {
-  BSTR text;    ///&lt; A copy of a segment of text taken from an enclosing paragraph.
-  long start;    ///&lt; Index of the first character of the segment in the enclosing text.  
-  long end;        ///&lt; Index of the character following the last character of the segment in the enclosing text. 
-} IA2TextSegment;
-
-/** This enum defines values which specify a text boundary type.
-
- IA2_TEXT_BOUNDARY_SENTENCE is optional.  When a method doesn't implement this 
- method it must return S_FALSE.  Typically this feature would not be implemented
- by an application.  However, if the application developer was not satisfied with
- how screen readers have handled the reading of sentences this boundary type
- could be implemented and screen readers could use the application's version of a 
- sentence rather than the screen reader's.
-
- The rest of the boundary types must be supported.
-
- This enum is used in IAccessibleText::textBeforeOffset, IAccessibleText::textAtOffset,
- and IAccessibleText::textAfterOffset.
-*/
-
-enum IA2TextBoundaryType {
-  IA2_TEXT_BOUNDARY_CHAR,       /**&lt; Typically, a single character is returned.  In some cases more than
-                                 one character is returned, for example, when a document contains field
-                                 data such as a field containing a date, time, or footnote reference.
-                                 In this case the caret can move over several characters in one movement
-                                 of the caret.  Note that after the caret moves, the caret offset changes
-                                 by the number of characters in the field, e.g. by 8 characters in the 
-                                 following date: 03/26/07. */
-  IA2_TEXT_BOUNDARY_WORD,       /**&lt; The range provided matches the range observed when the application
-                                 processes the Ctrl + left arrow and Ctrl + right arrow key sequences.
-                                 Typically this is from the start of one word to the start of the next, but
-                                 various applications are inconsistent in the handling of the end of a line. */
-  IA2_TEXT_BOUNDARY_SENTENCE,   ///&lt; Range is from start of one sentence to the start of another sentence.
-  IA2_TEXT_BOUNDARY_PARAGRAPH,  ///&lt; Range is from start of one paragraph to the start of another paragraph.
-  IA2_TEXT_BOUNDARY_LINE,       /**&lt; Range is from start of one line to the start of another line. This
-                                 often means that an end-of-line character will appear at the end of the
-                                 range. However in the case of some applications an end-of-line character
-                                 indicates the end of a paragraph and the lines composing the paragraph,
-                                 other than the last line, do not contain an end of line character. */
-  IA2_TEXT_BOUNDARY_ALL         ///&lt; Using this value will cause all text to be returned.
-};
-
-/** @brief This interface gives read-only access to text.
-
- The %IAccessibleText interface should be implemented by all components 
-  that present textual information on the display like  buttons, 
-  text entry fields, or text portions of the document window.  The interface 
-  provides access to the text's content, attributes, and spatial location.  
-  However, text can not be modified with this interface.  That is the task 
-  of the IAccessibleEditableText interface.
-        
- The text length, i.e. the number of characters in the text, is
-  returned by IAccessibleText::nCharacters. All methods that operate 
-  on particular characters (e.g. IAccessibleText::textAtOffset) use character 
-  indices from 0 to length-1. All methods that operate on character positions 
-  (e.g. IAccessibleText::text) use indices from 0 to length.
-
- Please note that accessible text does not necessarily support selection.  
-  In this case it should behave as if there where no selection.  An empty 
-  selection is used for example to express the current cursor position.
-
- Refer to @ref _specialOffsets 
-  &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-  for information about special offsets that can be used in %IAccessibleText methods.
-
- E_FAIL is returned in the following cases
- @li endOffset &lt; startOffset
- @li endoffset &gt; length
-*/
-[object, uuid(24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B)]
-interface IAccessibleText : IUnknown
-{
-
-  /** @brief Adds a text selection
-   @param [in] startOffset
-    Starting offset ( 0 based).
-   @param [in] endOffset
-    Offset of first character after new selection (0 based).
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note  Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-  */
-  HRESULT addSelection
-    (
-     [in] long startOffset,
-     [in] long endOffset
-    );
-
-  /** @brief Returns text attributes.
-   @param [in] offset
-    Text offset (0 based).  Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-   @param [out] startOffset    
-    The starting offset of the character range over which all text attributes match 
-    those of offset. (0 based)
-   @param [out] endOffset    
-    The offset of the first character past the character range over which all text 
-    attributes match those of offset. (0 based)
-   @param [out] textAttributes  
-    A string of attributes describing the text.  The attributes are described in the
-    &lt;a href=&quot;http://www.linuxfoundation.org/en/Accessibility/IAccessible2/TextAttributes&quot;&gt;
-    text attributes specification&lt;/a&gt; on the %IAccessible2 web site.
-   @retval S_OK
-   @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively 
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  [propget] HRESULT attributes
-    (
-     [in] long offset,    
-     [out] long *startOffset,
-     [out] long *endOffset,    
-     [out, retval] BSTR *textAttributes
-    );
-
-  /** @brief Returns the position of the caret.
-
-   Returns the 0-based offset of the caret within the text.  If the text is 
-   implemented as a tree of text objects with embed characters in higher levels
-   representing substrings of child text objects and the caret is in one of the 
-   child text objects, then the offset in the higher level text object would be
-   at the embed character representing child text object that contains the caret.
-
-   For example, if the string &quot;one two three&quot; is implemented as a two text objects,
-   with a top level text object containing an embed character &quot;one ? three&quot; and a
-   child text object containing &quot;two&quot; and if the caret is in the descendant object
-   just before the 'o' in &quot;two&quot;, then:
-   &lt;ul&gt;
-   &lt;li&gt;the caretOffset for the &quot;one ? three&quot; object would be 4, matching the embed character&lt;/li&gt;
-   &lt;li&gt;the caretOffset for &quot;two&quot; would be 2, matching the &quot;o&quot;&lt;/li&gt;
-   &lt;/ul&gt;
-   The caret position/offset is that of the character logically following it, e.g.
-   to the right of it in a left to right language, or to the left of it in a right
-   to left language.
-   @param [out] offset
-    The returned offset is relative to the text represented by this object.
-   @retval S_OK
-   @retval S_FALSE if the caret is not currently active on this object, i.e. the
-    caret is located on some other object.  The returned offset value will be -1.
-   @note S_FALSE (and an offset of -1) will not be returned if the caret is somewhere
-   in the text object or one of its descendants. 
-  */
-  [propget] HRESULT caretOffset
-    (
-     [out, retval] long *offset
-    );
-
-
-  /** @brief Returns the bounding box of the specified position.
-        
-   The virtual character after the last character of the represented
-    text, i.e. the one at position length is a special case. It represents the 
-    current input position and will therefore typically be queried by AT more 
-    often than other positions.  Because it does not represent an existing character 
-    its bounding box is defined in relation to preceding characters.  It should be 
-    roughly equivalent to the bounding box of some character when inserted at the 
-    end of the text.  Its height typically being the maximal height of all the
-    characters in the text or the height of the preceding character, its width being 
-    at least one pixel so that the bounding box is not degenerate.
-
-   Note that the index 'length' is not always valid.  Whether it is or not is 
-    implementation dependent.  It typically is when text is editable or otherwise 
-    when on the screen the caret can be placed behind the text.  You can be sure 
-    that the index is valid after you have received a ::IA2_EVENT_TEXT_CARET_MOVED
-    event for this index.
-   @param [in] offset
-    Index of the character for which to return its bounding box. The valid range 
-    is 0..length.  Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-   @param [in] coordType
-    Specifies if the coordinates are relative to the screen or to the parent window.
-   @param [out] x
-    X coordinate of the top left corner of the bounding box of the referenced character. 
-   @param [out] y
-    Y coordinate of the top left corner of the bounding box of the referenced character. 
-   @param [out] width
-    Width of the bounding box of the referenced character. 
-   @param [out] height
-    Height of the bounding box of the referenced character. 
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  [propget] HRESULT characterExtents
-    (
-     [in] long offset,
-     [in] enum IA2CoordinateType coordType,
-     [out] long *x,
-     [out] long *y,
-     [out] long *width,
-     [out, retval] long *height
-    );
-
-
-  /** @brief Returns the number of active non-contiguous selections
-   @param [out] nSelections
-   @retval S_OK
-  */
-  [propget] HRESULT nSelections
-    (
-     [out, retval] long *nSelections
-    );
-
-  /** @brief Returns the text position for the specified screen position.
-    
-   Given a point return the zero-based index of the character under that
-   point.  The same functionality could be achieved by using the bounding
-   boxes for each character as returned by IAccessibleText::characterExtents.
-   The method IAccessibleText::offsetAtPoint, however, can be implemented 
-   more efficiently.
-            
-   @param [in] x
-    The position's x value for which to look up the index of the character that
-    is rendered on to the display at that point.
-   @param [in] y
-    The position's y value for which to look up the index of the character that
-    is rendered on to the display at that point.            
-   @param [in] coordType
-    Screen coordinates or window coordinates.
-   @param [out] offset
-    Index of the character under the given point or -1 if the point
-    is invalid or there is no character under the point.
-   @retval S_OK
-   @retval S_FALSE if nothing to return, [out] value is -1
-
-   @retval E_INVALIDARG if bad [in] passed
-    */
-  [propget] HRESULT offsetAtPoint
-    (
-     [in] long x,
-     [in] long y,
-     [in] enum IA2CoordinateType coordType,
-     [out, retval] long *offset
-    );
-
-  /** @brief Returns the character offsets of Nth active text selection
-
-   Returns the 0-based starting and ending offsets of the Nth selection.  If the
-   text is implemented as a tree of text objects with embed characters in higher
-   levels representing substrings of child text objects, consider the following.
-   If the starting selection offset is in one of the child text objects, then the
-   starting offset in the higher level text object would be at the embed character
-   representing the child text object that contains the starting selection offset.
-   If the ending selection offset is in one of the child text objects, then the
-   ending offset in the higher level text object would be just after the embed
-   character representing the child text object that contains the ending selection
-   offset.
-
-   For example, if the string &quot;one two three&quot; is implemented as a two text objects,
-   with a top level text object containing an embed character &quot;one ? three&quot; and a
-   child text object containing &quot;two&quot; and if the selection is the string &quot;two&quot; then:
-   &lt;ul&gt;
-   &lt;li&gt;the startOffset for the &quot;one ? three&quot; object would be 4, matching the embed character and the endOffset would be 5.&lt;/li&gt;
-   &lt;li&gt;the startOffset for the &quot;two&quot; object would be 0, and the endOffset would be 3&lt;/li&gt;
-   &lt;/ul&gt;
-   Selection offsets are that of the character logically following it, e.g.
-   to the right of it in a left to right language or to the left of it in a right to left language.
-   @param [in] selectionIndex
-    Index of selection (0 based).
-   @param [out] startOffset
-    0 based offset of first selected character
-   @param [out] endOffset
-    0 based offset of one past the last selected character.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  [propget] HRESULT selection
-    (
-     [in] long selectionIndex,
-     [out] long *startOffset,
-     [out, retval] long *endOffset
-    );
-
-  /** @brief Returns the substring between the two given indices.
-
-   The substring starts with the character at startOffset (inclusive) and up to 
-    the character at endOffset (exclusive), if startOffset is less or equal 
-    endOffset.  If endOffset is lower than startOffset, the result is the same 
-    as a call with the two arguments being exchanged.
-
-   The whole text can be requested by passing the indices zero and 
-    IAccessibleText::nCharacters. If both indices have the same value, an empty 
-    string is returned.
-   @param [in] startOffset
-    Index of the first character to include in the returned string. The valid range 
-    is 0..length.
-   @param [in] endOffset
-    Index of the last character to exclude in the returned string. The valid range 
-    is 0..length.
-   @param [out] text
-    Returns the substring starting with the character at startOffset (inclusive) 
-    and up to the character at endOffset (exclusive), if startOffset is less than 
-    or equal to endOffset.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note
-   @li The returned string may be longer than endOffset-startOffset bytes if text 
-    contains multi-byte characters.
-   @li Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-  */
-  [propget] HRESULT text
-    (
-     [in] long startOffset,
-     [in] long endOffset,
-     [out, retval] BSTR *text
-    );
-
-  /** @brief Returns a text portion before the given position.
-    
-   Returns the substring of the specified text type that is located before the 
-    given character and does not include it. The result of this method should be 
-    same as a result for IAccessibleText::textAtOffset with a suitably decreased 
-    index value.
-
-   For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete 
-    word that is closest to and located before offset is returned.
-
-   If the index is valid, but no text is found, S_FALSE is returned along with out
-    values of 0, 0, and a NULL pointer.  This would happen for boundary types other
-    than character when the text consists entirely of whitespace.
-
-   @param [in] offset
-    Index of the character for which to return the text part before it.  The index 
-    character will not be part of the returned string. The valid range is 0..length.
-    Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-   @param [in] boundaryType
-    The type of the text portion to return.  See ::IA2TextBoundaryType for the 
-    complete list.
-   @param [out] startOffset
-    0 based offset of first character.
-   @param [out] endOffset
-    0 based offset of one past the last character.
-   @param [out] text
-    Returns the requested text portion.  This portion may be empty or invalid when 
-    no appropriate text portion is found or text type is invalid.
-   @retval S_OK
-   @retval S_FALSE if the requested boundary type is not implemented, such as 
-    ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 
-    [out] values are 0s and NULL respectively 
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  [propget] HRESULT textBeforeOffset
-    (
-     [in] long offset,
-     [in] enum IA2TextBoundaryType boundaryType,
-     [out] long *startOffset,
-     [out] long *endOffset,
-     [out, retval] BSTR *text
-    );
-
-  /** @brief Returns a text portion after the given position.
-    
-   Returns the substring of the specified text type that is located after the 
-    given character and does not include it. The result of this method should be 
-    same as a result for IAccessibleText::textAtOffset with a suitably increased 
-    index value.
-
-   For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete 
-    word that is closest to and located after offset is returned.
-
-   If the index is valid, but no text is found, S_FALSE is returned along with out
-    values of 0, 0, and a NULL pointer.  This would happen for boundary types other
-    than character when the text consists entirely of whitespace.
-
-   @param [in] offset
-    Index of the character for which to return the text part after it.  The index 
-    character will not be part of the returned string. The valid range is 0..length.
-    Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-   @param [in] boundaryType
-    The type of the text portion to return.  See ::IA2TextBoundaryType for the complete 
-    list.
-   @param [out] startOffset
-    0 based offset of first character.
-   @param [out] endOffset
-    0 based offset of one past the last character.
-   @param [out] text
-    Returns the requested text portion.  This portion may be empty or invalid when 
-    no appropriate text portion is found or text type is invalid.
-   @retval S_OK
-   @retval S_FALSE if the requested boundary type is not implemented, such as 
-    ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 
-    [out] values are 0s and NULL respectively 
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  [propget] HRESULT textAfterOffset
-    (
-     [in] long offset,
-     [in] enum IA2TextBoundaryType boundaryType,
-     [out] long *startOffset,
-     [out] long *endOffset,
-     [out, retval] BSTR *text
-    );
-
-  /** @brief Returns a text portion that spans the given position.
-
-   Returns the substring defined by the specified boundary type at the specified
-    offset.  Refer to IA2TextBoundaryType for more details.
-
-   For the word boundary type the returned string will contain the word at the
-    offset if the offset is inside a word and will contain the word before the
-    offset if the offset is not inside a word.  All offsets from the first to the
-    last characters of a word are considered inside the word.  Boundary types of
-    sentence and paragraph should exhibit similar behavior.
-
-   If the index is valid, but no text is found, S_FALSE is returned along with out
-    values of 0, 0, and a NULL pointer.  This would happen for boundary types other
-    than character when the text consists entirely of whitespace.
-
-   @param [in] offset
-    Index of the character for which to return the text part it belongs to.  The valid
-    range is 0..length.
-    Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-   @param [in] boundaryType
-    The type of the text portion to return.  See ::IA2TextBoundaryType for the complete 
-    list.
-   @param [out] startOffset
-    0 based offset of first character.
-   @param [out] endOffset
-    0 based offset of one past the last character.
-   @param [out] text
-    Returns the requested text portion.  This portion may be empty or invalid when 
-    no appropriate text portion is found or text type is invalid.
-   @retval S_OK
-   @retval S_FALSE if the requested boundary type is not implemented, such as 
-    ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 
-    [out] values are 0s and NULL respectively 
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  [propget] HRESULT textAtOffset
-    (
-     [in] long offset,
-     [in] enum IA2TextBoundaryType boundaryType,
-     [out] long *startOffset,
-     [out] long *endOffset,
-     [out, retval] BSTR *text
-    );
-
-  /** @brief Unselects a range of text.
-   @param [in] selectionIndex
-    Index of selection to remove (0 based).
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  HRESULT removeSelection
-    (
-     [in] long selectionIndex
-    );
-
-  /** @brief Sets the position of the caret.
-
-   The caret position/offset is that of the character logically following it,
-   e.g. to the right of it in a left to right language.
-
-   Setting the caret position may or may not alter the current selection.  A 
-    change of the selection is notified to the accessibility event listeners with 
-    an ::IA2_EVENT_TEXT_SELECTION_CHANGED event.
-
-   When the new caret position differs from the old one (which, of course, is the 
-    standard case) this is notified to the accessibility event listeners with an
-    ::IA2_EVENT_TEXT_CARET_MOVED event.
-   @param [in] offset
-    The new index of the caret.  This caret is actually placed to the left side of 
-    the character with that index.  An index of 0 places the caret so that the next 
-    insertion goes before the first character.  An index of IAccessibleText::nCharacters 
-    leads to insertion after the last character.  Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-   @retval S_OK
-   @retval E_FAIL if the caret cannot be set
-   @retval E_INVALIDARG if bad [in] passed
-  */
-  HRESULT setCaretOffset
-    (
-     [in] long offset
-    );
-
-  /** @brief Changes the bounds of an existing selection.
-   @param [in] selectionIndex
-    Index of selection to change (0 based)
-   @param [in] startOffset
-    New starting offset (0 based)
-   @param [in] endOffset
-    New ending offset (0 based) - the offset of the character just past the last character of the selection.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-  */
-  HRESULT setSelection
-    (
-     [in] long selectionIndex,
-     [in] long startOffset,
-     [in] long endOffset
-    );
-
-  /** @brief Returns total number of characters.
-
-   Note that this may be different than the total number of bytes required to store the 
-    text, if the text contains multi-byte characters.
-   @param [out] nCharacters
-   @retval S_OK
-  */
-  [propget] HRESULT nCharacters
-    (
-     [out, retval] long *nCharacters
-    );
-
-  /** @brief Makes a specific part of string visible on screen.
-   @param [in] startIndex
-    0 based character offset.
-   @param [in] endIndex
-    0 based character offset - the offset of the character just past the last character of the string.
-   @param [in] scrollType
-    Defines where the object should be placed on the screen.
-   @retval S_OK
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-  */
-  HRESULT scrollSubstringTo
-    (
-     [in] long startIndex,
-     [in] long endIndex,
-     [in] enum IA2ScrollType scrollType
-    );
-
-  /** @brief Moves the top left of a substring to a specified location.
-
-   @param [in] startIndex
-    0 based character offset.
-   @param [in] endIndex
-    0 based character offset - the offset of the character just past the last character of the string.
-   @param [in] coordinateType
-    Specifies whether the coordinates are relative to the screen or the parent object.
-   @param [in] x
-    Defines the x coordinate.
-   @param [in] y
-    Defines the y coordinate.
-   @retval S_OK
-   @retval S_FALSE if the object is already at the specified location.
-   @retval E_INVALIDARG if bad [in] passed
-   @note Refer to @ref _specialOffsets 
-    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
-    for information about special offsets that can be used in %IAccessibleText methods.
-  */
-  HRESULT scrollSubstringToPoint
-    (
-     [in] long startIndex,
-     [in] long endIndex,
-     [in] enum IA2CoordinateType coordinateType,
-     [in] long x,
-     [in] long y 
-    );
-
-  /** @brief Returns any inserted text.
-
-   Provided for use by the ::IA2_EVENT_TEXT_INSERTED and ::IA2_EVENT_TEXT_UPDATED 
-    event handlers.
-
-   This data is only guaranteed to be valid while the thread notifying the event 
-   continues. Once the handler has returned, the validity of the data depends on 
-   how the server manages the life cycle of its objects. Also, note that the server 
-   may have different life cycle management strategies for controls depending on 
-   whether or not a control manages its children. Lists, trees, and tables can have 
-   a large number of children and thus it's possible that the child objects for those 
-   controls would only be created as needed. Servers should document their life cycle 
-   strategy as this will be of interest to assistive technology or script engines 
-   accessing data out of process or from other threads. Servers only need to save the 
-   last inserted block of text and a scope of the entire application is adequate.
-
-   @param [out] newText
-    The text that was just inserted.
-   @retval S_OK
-   @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
-    struct are set as follows:  text = NULL, start = 0, end = 0.
-
-  */
-  [propget] HRESULT newText
-    (
-     [out, retval] IA2TextSegment *newText
-    );
-
-  /** @brief Returns any removed text.
-
-   Provided for use by the IA2_EVENT_TEXT_REMOVED/UPDATED event handlers.
-   
-   This data is only guaranteed to be valid while the thread notifying the event 
-   continues. Once the handler has returned, the validity of the data depends on 
-   how the server manages the life cycle of its objects. Also, note that the server 
-   may have different life cycle management strategies for controls depending on 
-   whether or not a control manages its children. Lists, trees, and tables can have 
-   a large number of children and thus it's possible that the child objects for those 
-   controls would only be created as needed. Servers should document their life cycle 
-   strategy as this will be of interest to assistive technology or script engines 
-   accessing data out of process or from other threads. Servers only need to save the 
-   last removed block of text and a scope of the entire application is adequate.
-
-   @param [out] oldText
-    The text that was just removed.
-   @retval S_OK
-   @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
-    struct are set as follows:  text = NULL, start = 0, end = 0.
-  */
-  [propget] HRESULT oldText
-    (
-     [out, retval] IA2TextSegment *oldText
-    );
-
-}
</del><ins>+/*************************************************************************
+ *
+ *  File Name (AccessibleText.idl)
+ * 
+ *  IAccessible2 IDL Specification 
+ * 
+ *  Copyright (c) 2007, 2013 Linux Foundation 
+ *  Copyright (c) 2006 IBM Corporation 
+ *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
+ *  All rights reserved. 
+ *   
+ *   
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met: 
+ *   
+ *   1. Redistributions of source code must retain the above copyright 
+ *      notice, this list of conditions and the following disclaimer. 
+ *   
+ *   2. Redistributions in binary form must reproduce the above 
+ *      copyright notice, this list of conditions and the following 
+ *      disclaimer in the documentation and/or other materials 
+ *      provided with the distribution. 
+ *
+ *   3. Neither the name of the Linux Foundation nor the names of its 
+ *      contributors may be used to endorse or promote products 
+ *      derived from this software without specific prior written 
+ *      permission. 
+ *   
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+ *  CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+ *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+ *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+ *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+ *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
+ *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
+ *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *   
+ *  This BSD License conforms to the Open Source Initiative &quot;Simplified 
+ *  BSD License&quot; as published at: 
+ *  http://www.opensource.org/licenses/bsd-license.php 
+ *   
+ *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
+ *  mark may be used in accordance with the Linux Foundation Trademark 
+ *  Policy to indicate compliance with the IAccessible2 specification. 
+ * 
+ ************************************************************************/ 
+
+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
+import &quot;objidl.idl&quot;;
+import &quot;oaidl.idl&quot;;
+import &quot;oleacc.idl&quot;;
+import &quot;IA2CommonTypes.idl&quot;;
+
+/** A structure containing a substring and the start and end offsets in the enclosing string.

+ IAccessibleText::newText and IAccessibleText::oldText return this struct.
+*/
+typedef struct IA2TextSegment {
+  BSTR text;    ///&lt; A copy of a segment of text taken from an enclosing paragraph.
+  long start;    ///&lt; Index of the first character of the segment in the enclosing text.  
+  long end;        ///&lt; Index of the character following the last character of the segment in the enclosing text. 
+} IA2TextSegment;
+
+/** This enum defines values which specify a text boundary type.
+
+ IA2_TEXT_BOUNDARY_SENTENCE is optional.  When a method doesn't implement this 
+ method it must return S_FALSE.  Typically this feature would not be implemented
+ by an application.  However, if the application developer was not satisfied with
+ how screen readers have handled the reading of sentences this boundary type
+ could be implemented and screen readers could use the application's version of a 
+ sentence rather than the screen reader's.
+
+ The rest of the boundary types must be supported.
+
+ This enum is used in IAccessibleText::textBeforeOffset, IAccessibleText::textAtOffset,
+ and IAccessibleText::textAfterOffset.
+*/
+
+enum IA2TextBoundaryType {
+  IA2_TEXT_BOUNDARY_CHAR,       /**&lt; Typically, a single character is returned.  In some cases more than
+                                 one character is returned, for example, when a document contains field
+                                 data such as a field containing a date, time, or footnote reference.
+                                 In this case the caret can move over several characters in one movement
+                                 of the caret.  Note that after the caret moves, the caret offset changes
+                                 by the number of characters in the field, e.g. by 8 characters in the 
+                                 following date: 03/26/07. */
+  IA2_TEXT_BOUNDARY_WORD,       /**&lt; The range provided matches the range observed when the application
+                                 processes the Ctrl + left arrow and Ctrl + right arrow key sequences.
+                                 Typically this is from the start of one word to the start of the next, but
+                                 various applications are inconsistent in the handling of the end of a line. */
+  IA2_TEXT_BOUNDARY_SENTENCE,   ///&lt; Range is from start of one sentence to the start of another sentence.
+  IA2_TEXT_BOUNDARY_PARAGRAPH,  ///&lt; Range is from start of one paragraph to the start of another paragraph.
+  IA2_TEXT_BOUNDARY_LINE,       /**&lt; Range is from start of one line to the start of another line. This
+                                 often means that an end-of-line character will appear at the end of the
+                                 range. However in the case of some applications an end-of-line character
+                                 indicates the end of a paragraph and the lines composing the paragraph,
+                                 other than the last line, do not contain an end of line character. */
+  IA2_TEXT_BOUNDARY_ALL         ///&lt; Using this value will cause all text to be returned.
+};
+
+/** @brief This interface gives read-only access to text.
+
+ The %IAccessibleText interface should be implemented by all components 
+  that present textual information on the display like  buttons, 
+  text entry fields, or text portions of the document window.  The interface 
+  provides access to the text's content, attributes, and spatial location.  
+  However, text can not be modified with this interface.  That is the task 
+  of the IAccessibleEditableText interface.
+        
+ The text length, i.e. the number of characters in the text, is
+  returned by IAccessibleText::nCharacters. All methods that operate 
+  on particular characters (e.g. IAccessibleText::textAtOffset) use character 
+  indices from 0 to length-1. All methods that operate on character positions 
+  (e.g. IAccessibleText::text) use indices from 0 to length.
+
+ Please note that accessible text does not necessarily support selection.  
+  In this case it should behave as if there where no selection.  An empty 
+  selection is used for example to express the current cursor position.
+
+ Refer to @ref _specialOffsets 
+  &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+  for information about special offsets that can be used in %IAccessibleText methods.
+
+ E_FAIL is returned in the following cases
+ @li endOffset &lt; startOffset
+ @li endoffset &gt; length
+*/
+[object, uuid(24FD2FFB-3AAD-4a08-8335-A3AD89C0FB4B)]
+interface IAccessibleText : IUnknown
+{
+
+  /** @brief Adds a text selection
+   @param [in] startOffset
+    Starting offset ( 0 based).
+   @param [in] endOffset
+    Offset of first character after new selection (0 based).
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note  Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+  */
+  HRESULT addSelection
+    (
+     [in] long startOffset,
+     [in] long endOffset
+    );
+
+  /** @brief Returns text attributes.
+   @param [in] offset
+    Text offset (0 based).  Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+   @param [out] startOffset    
+    The starting offset of the character range over which all text attributes match 
+    those of offset. (0 based)
+   @param [out] endOffset    
+    The offset of the first character past the character range over which all text 
+    attributes match those of offset. (0 based)
+   @param [out] textAttributes  
+    A string of attributes describing the text.  The attributes are described in the
+    &lt;a href=&quot;http://www.linuxfoundation.org/en/Accessibility/IAccessible2/TextAttributes&quot;&gt;
+    text attributes specification&lt;/a&gt; on the %IAccessible2 web site.
+   @retval S_OK
+   @retval S_FALSE if there is nothing to return, [out] values are 0s and NULL respectively 
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  [propget] HRESULT attributes
+    (
+     [in] long offset,    
+     [out] long *startOffset,
+     [out] long *endOffset,    
+     [out, retval] BSTR *textAttributes
+    );
+
+  /** @brief Returns the position of the caret.
+
+   Returns the 0-based offset of the caret within the text.  If the text is 
+   implemented as a tree of text objects with embed characters in higher levels
+   representing substrings of child text objects and the caret is in one of the 
+   child text objects, then the offset in the higher level text object would be
+   at the embed character representing child text object that contains the caret.
+
+   For example, if the string &quot;one two three&quot; is implemented as a two text objects,
+   with a top level text object containing an embed character &quot;one ? three&quot; and a
+   child text object containing &quot;two&quot; and if the caret is in the descendant object
+   just before the 'o' in &quot;two&quot;, then:
+   &lt;ul&gt;
+   &lt;li&gt;the caretOffset for the &quot;one ? three&quot; object would be 4, matching the embed character&lt;/li&gt;
+   &lt;li&gt;the caretOffset for &quot;two&quot; would be 2, matching the &quot;o&quot;&lt;/li&gt;
+   &lt;/ul&gt;
+   The caret position/offset is that of the character logically following it, e.g.
+   to the right of it in a left to right language, or to the left of it in a right
+   to left language.
+   @param [out] offset
+    The returned offset is relative to the text represented by this object.
+   @retval S_OK
+   @retval S_FALSE if the caret is not currently active on this object, i.e. the
+    caret is located on some other object.  The returned offset value will be -1.
+   @note S_FALSE (and an offset of -1) will not be returned if the caret is somewhere
+   in the text object or one of its descendants. 
+  */
+  [propget] HRESULT caretOffset
+    (
+     [out, retval] long *offset
+    );
+
+
+  /** @brief Returns the bounding box of the specified position.
+        
+   The virtual character after the last character of the represented
+    text, i.e. the one at position length is a special case. It represents the 
+    current input position and will therefore typically be queried by AT more 
+    often than other positions.  Because it does not represent an existing character 
+    its bounding box is defined in relation to preceding characters.  It should be 
+    roughly equivalent to the bounding box of some character when inserted at the 
+    end of the text.  Its height typically being the maximal height of all the
+    characters in the text or the height of the preceding character, its width being 
+    at least one pixel so that the bounding box is not degenerate.
+
+   Note that the index 'length' is not always valid.  Whether it is or not is 
+    implementation dependent.  It typically is when text is editable or otherwise 
+    when on the screen the caret can be placed behind the text.  You can be sure 
+    that the index is valid after you have received a ::IA2_EVENT_TEXT_CARET_MOVED
+    event for this index.
+   @param [in] offset
+    Index of the character for which to return its bounding box. The valid range 
+    is 0..length.  Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+   @param [in] coordType
+    Specifies if the coordinates are relative to the screen or to the parent window.
+   @param [out] x
+    X coordinate of the top left corner of the bounding box of the referenced character. 
+   @param [out] y
+    Y coordinate of the top left corner of the bounding box of the referenced character. 
+   @param [out] width
+    Width of the bounding box of the referenced character. 
+   @param [out] height
+    Height of the bounding box of the referenced character. 
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  [propget] HRESULT characterExtents
+    (
+     [in] long offset,
+     [in] enum IA2CoordinateType coordType,
+     [out] long *x,
+     [out] long *y,
+     [out] long *width,
+     [out, retval] long *height
+    );
+
+
+  /** @brief Returns the number of active non-contiguous selections
+   @param [out] nSelections
+   @retval S_OK
+  */
+  [propget] HRESULT nSelections
+    (
+     [out, retval] long *nSelections
+    );
+
+  /** @brief Returns the text position for the specified screen position.
+    
+   Given a point return the zero-based index of the character under that
+   point.  The same functionality could be achieved by using the bounding
+   boxes for each character as returned by IAccessibleText::characterExtents.
+   The method IAccessibleText::offsetAtPoint, however, can be implemented 
+   more efficiently.
+            
+   @param [in] x
+    The position's x value for which to look up the index of the character that
+    is rendered on to the display at that point.
+   @param [in] y
+    The position's y value for which to look up the index of the character that
+    is rendered on to the display at that point.            
+   @param [in] coordType
+    Screen coordinates or window coordinates.
+   @param [out] offset
+    Index of the character under the given point or -1 if the point
+    is invalid or there is no character under the point.
+   @retval S_OK
+   @retval S_FALSE if nothing to return, [out] value is -1
+
+   @retval E_INVALIDARG if bad [in] passed
+    */
+  [propget] HRESULT offsetAtPoint
+    (
+     [in] long x,
+     [in] long y,
+     [in] enum IA2CoordinateType coordType,
+     [out, retval] long *offset
+    );
+
+  /** @brief Returns the character offsets of Nth active text selection
+
+   Returns the 0-based starting and ending offsets of the Nth selection.  If the
+   text is implemented as a tree of text objects with embed characters in higher
+   levels representing substrings of child text objects, consider the following.
+   If the starting selection offset is in one of the child text objects, then the
+   starting offset in the higher level text object would be at the embed character
+   representing the child text object that contains the starting selection offset.
+   If the ending selection offset is in one of the child text objects, then the
+   ending offset in the higher level text object would be just after the embed
+   character representing the child text object that contains the ending selection
+   offset.
+
+   For example, if the string &quot;one two three&quot; is implemented as a two text objects,
+   with a top level text object containing an embed character &quot;one ? three&quot; and a
+   child text object containing &quot;two&quot; and if the selection is the string &quot;two&quot; then:
+   &lt;ul&gt;
+   &lt;li&gt;the startOffset for the &quot;one ? three&quot; object would be 4, matching the embed character and the endOffset would be 5.&lt;/li&gt;
+   &lt;li&gt;the startOffset for the &quot;two&quot; object would be 0, and the endOffset would be 3&lt;/li&gt;
+   &lt;/ul&gt;
+   Selection offsets are that of the character logically following it, e.g.
+   to the right of it in a left to right language or to the left of it in a right to left language.
+   @param [in] selectionIndex
+    Index of selection (0 based).
+   @param [out] startOffset
+    0 based offset of first selected character
+   @param [out] endOffset
+    0 based offset of one past the last selected character.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  [propget] HRESULT selection
+    (
+     [in] long selectionIndex,
+     [out] long *startOffset,
+     [out, retval] long *endOffset
+    );
+
+  /** @brief Returns the substring between the two given indices.
+
+   The substring starts with the character at startOffset (inclusive) and up to 
+    the character at endOffset (exclusive), if startOffset is less or equal 
+    endOffset.  If endOffset is lower than startOffset, the result is the same 
+    as a call with the two arguments being exchanged.
+
+   The whole text can be requested by passing the indices zero and 
+    IAccessibleText::nCharacters. If both indices have the same value, an empty 
+    string is returned.
+   @param [in] startOffset
+    Index of the first character to include in the returned string. The valid range 
+    is 0..length.
+   @param [in] endOffset
+    Index of the last character to exclude in the returned string. The valid range 
+    is 0..length.
+   @param [out] text
+    Returns the substring starting with the character at startOffset (inclusive) 
+    and up to the character at endOffset (exclusive), if startOffset is less than 
+    or equal to endOffset.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note
+   @li The returned string may be longer than endOffset-startOffset bytes if text 
+    contains multi-byte characters.
+   @li Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+  */
+  [propget] HRESULT text
+    (
+     [in] long startOffset,
+     [in] long endOffset,
+     [out, retval] BSTR *text
+    );
+
+  /** @brief Returns a text portion before the given position.
+    
+   Returns the substring of the specified text type that is located before the 
+    given character and does not include it. The result of this method should be 
+    same as a result for IAccessibleText::textAtOffset with a suitably decreased 
+    index value.
+
+   For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete 
+    word that is closest to and located before offset is returned.
+
+   If the index is valid, but no text is found, S_FALSE is returned along with out
+    values of 0, 0, and a NULL pointer.  This would happen for boundary types other
+    than character when the text consists entirely of whitespace.
+
+   @param [in] offset
+    Index of the character for which to return the text part before it.  The index 
+    character will not be part of the returned string. The valid range is 0..length.
+    Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+   @param [in] boundaryType
+    The type of the text portion to return.  See ::IA2TextBoundaryType for the 
+    complete list.
+   @param [out] startOffset
+    0 based offset of first character.
+   @param [out] endOffset
+    0 based offset of one past the last character.
+   @param [out] text
+    Returns the requested text portion.  This portion may be empty or invalid when 
+    no appropriate text portion is found or text type is invalid.
+   @retval S_OK
+   @retval S_FALSE if the requested boundary type is not implemented, such as 
+    ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 
+    [out] values are 0s and NULL respectively 
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  [propget] HRESULT textBeforeOffset
+    (
+     [in] long offset,
+     [in] enum IA2TextBoundaryType boundaryType,
+     [out] long *startOffset,
+     [out] long *endOffset,
+     [out, retval] BSTR *text
+    );
+
+  /** @brief Returns a text portion after the given position.
+    
+   Returns the substring of the specified text type that is located after the 
+    given character and does not include it. The result of this method should be 
+    same as a result for IAccessibleText::textAtOffset with a suitably increased 
+    index value.
+
+   For example, if text type is ::IA2_TEXT_BOUNDARY_WORD, then the complete 
+    word that is closest to and located after offset is returned.
+
+   If the index is valid, but no text is found, S_FALSE is returned along with out
+    values of 0, 0, and a NULL pointer.  This would happen for boundary types other
+    than character when the text consists entirely of whitespace.
+
+   @param [in] offset
+    Index of the character for which to return the text part after it.  The index 
+    character will not be part of the returned string. The valid range is 0..length.
+    Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+   @param [in] boundaryType
+    The type of the text portion to return.  See ::IA2TextBoundaryType for the complete 
+    list.
+   @param [out] startOffset
+    0 based offset of first character.
+   @param [out] endOffset
+    0 based offset of one past the last character.
+   @param [out] text
+    Returns the requested text portion.  This portion may be empty or invalid when 
+    no appropriate text portion is found or text type is invalid.
+   @retval S_OK
+   @retval S_FALSE if the requested boundary type is not implemented, such as 
+    ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 
+    [out] values are 0s and NULL respectively 
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  [propget] HRESULT textAfterOffset
+    (
+     [in] long offset,
+     [in] enum IA2TextBoundaryType boundaryType,
+     [out] long *startOffset,
+     [out] long *endOffset,
+     [out, retval] BSTR *text
+    );
+
+  /** @brief Returns a text portion that spans the given position.
+
+   Returns the substring defined by the specified boundary type at the specified
+    offset.  Refer to IA2TextBoundaryType for more details.
+
+   For the word boundary type the returned string will contain the word at the
+    offset if the offset is inside a word and will contain the word before the
+    offset if the offset is not inside a word.  All offsets from the first to the
+    last characters of a word are considered inside the word.  Boundary types of
+    sentence and paragraph should exhibit similar behavior.
+
+   If the index is valid, but no text is found, S_FALSE is returned along with out
+    values of 0, 0, and a NULL pointer.  This would happen for boundary types other
+    than character when the text consists entirely of whitespace.
+
+   @param [in] offset
+    Index of the character for which to return the text part it belongs to.  The valid
+    range is 0..length.
+    Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+   @param [in] boundaryType
+    The type of the text portion to return.  See ::IA2TextBoundaryType for the complete 
+    list.
+   @param [out] startOffset
+    0 based offset of first character.
+   @param [out] endOffset
+    0 based offset of one past the last character.
+   @param [out] text
+    Returns the requested text portion.  This portion may be empty or invalid when 
+    no appropriate text portion is found or text type is invalid.
+   @retval S_OK
+   @retval S_FALSE if the requested boundary type is not implemented, such as 
+    ::IA2_TEXT_BOUNDARY_SENTENCE, or if there is nothing to return; 
+    [out] values are 0s and NULL respectively 
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  [propget] HRESULT textAtOffset
+    (
+     [in] long offset,
+     [in] enum IA2TextBoundaryType boundaryType,
+     [out] long *startOffset,
+     [out] long *endOffset,
+     [out, retval] BSTR *text
+    );
+
+  /** @brief Unselects a range of text.
+   @param [in] selectionIndex
+    Index of selection to remove (0 based).
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  HRESULT removeSelection
+    (
+     [in] long selectionIndex
+    );
+
+  /** @brief Sets the position of the caret.
+
+   The caret position/offset is that of the character logically following it,
+   e.g. to the right of it in a left to right language.
+
+   Setting the caret position may or may not alter the current selection.  A 
+    change of the selection is notified to the accessibility event listeners with 
+    an ::IA2_EVENT_TEXT_SELECTION_CHANGED event.
+
+   When the new caret position differs from the old one (which, of course, is the 
+    standard case) this is notified to the accessibility event listeners with an
+    ::IA2_EVENT_TEXT_CARET_MOVED event.
+   @param [in] offset
+    The new index of the caret.  This caret is actually placed to the left side of 
+    the character with that index.  An index of 0 places the caret so that the next 
+    insertion goes before the first character.  An index of IAccessibleText::nCharacters 
+    leads to insertion after the last character.  Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+   @retval S_OK
+   @retval E_FAIL if the caret cannot be set
+   @retval E_INVALIDARG if bad [in] passed
+  */
+  HRESULT setCaretOffset
+    (
+     [in] long offset
+    );
+
+  /** @brief Changes the bounds of an existing selection.
+   @param [in] selectionIndex
+    Index of selection to change (0 based)
+   @param [in] startOffset
+    New starting offset (0 based)
+   @param [in] endOffset
+    New ending offset (0 based) - the offset of the character just past the last character of the selection.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+  */
+  HRESULT setSelection
+    (
+     [in] long selectionIndex,
+     [in] long startOffset,
+     [in] long endOffset
+    );
+
+  /** @brief Returns total number of characters.
+
+   Note that this may be different than the total number of bytes required to store the 
+    text, if the text contains multi-byte characters.
+   @param [out] nCharacters
+   @retval S_OK
+  */
+  [propget] HRESULT nCharacters
+    (
+     [out, retval] long *nCharacters
+    );
+
+  /** @brief Makes a specific part of string visible on screen.
+   @param [in] startIndex
+    0 based character offset.
+   @param [in] endIndex
+    0 based character offset - the offset of the character just past the last character of the string.
+   @param [in] scrollType
+    Defines where the object should be placed on the screen.
+   @retval S_OK
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+  */
+  HRESULT scrollSubstringTo
+    (
+     [in] long startIndex,
+     [in] long endIndex,
+     [in] enum IA2ScrollType scrollType
+    );
+
+  /** @brief Moves the top left of a substring to a specified location.
+
+   @param [in] startIndex
+    0 based character offset.
+   @param [in] endIndex
+    0 based character offset - the offset of the character just past the last character of the string.
+   @param [in] coordinateType
+    Specifies whether the coordinates are relative to the screen or the parent object.
+   @param [in] x
+    Defines the x coordinate.
+   @param [in] y
+    Defines the y coordinate.
+   @retval S_OK
+   @retval S_FALSE if the object is already at the specified location.
+   @retval E_INVALIDARG if bad [in] passed
+   @note Refer to @ref _specialOffsets 
+    &quot;Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods&quot; 
+    for information about special offsets that can be used in %IAccessibleText methods.
+  */
+  HRESULT scrollSubstringToPoint
+    (
+     [in] long startIndex,
+     [in] long endIndex,
+     [in] enum IA2CoordinateType coordinateType,
+     [in] long x,
+     [in] long y 
+    );
+
+  /** @brief Returns any inserted text.
+
+   Provided for use by the ::IA2_EVENT_TEXT_INSERTED and ::IA2_EVENT_TEXT_UPDATED 
+    event handlers.
+
+   This data is only guaranteed to be valid while the thread notifying the event 
+   continues. Once the handler has returned, the validity of the data depends on 
+   how the server manages the life cycle of its objects. Also, note that the server 
+   may have different life cycle management strategies for controls depending on 
+   whether or not a control manages its children. Lists, trees, and tables can have 
+   a large number of children and thus it's possible that the child objects for those 
+   controls would only be created as needed. Servers should document their life cycle 
+   strategy as this will be of interest to assistive technology or script engines 
+   accessing data out of process or from other threads. Servers only need to save the 
+   last inserted block of text and a scope of the entire application is adequate.
+
+   @param [out] newText
+    The text that was just inserted.
+   @retval S_OK
+   @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
+    struct are set as follows:  text = NULL, start = 0, end = 0.
+
+  */
+  [propget] HRESULT newText
+    (
+     [out, retval] IA2TextSegment *newText
+    );
+
+  /** @brief Returns any removed text.
+
+   Provided for use by the IA2_EVENT_TEXT_REMOVED/UPDATED event handlers.
+   
+   This data is only guaranteed to be valid while the thread notifying the event 
+   continues. Once the handler has returned, the validity of the data depends on 
+   how the server manages the life cycle of its objects. Also, note that the server 
+   may have different life cycle management strategies for controls depending on 
+   whether or not a control manages its children. Lists, trees, and tables can have 
+   a large number of children and thus it's possible that the child objects for those 
+   controls would only be created as needed. Servers should document their life cycle 
+   strategy as this will be of interest to assistive technology or script engines 
+   accessing data out of process or from other threads. Servers only need to save the 
+   last removed block of text and a scope of the entire application is adequate.
+
+   @param [out] oldText
+    The text that was just removed.
+   @retval S_OK
+   @retval S_FALSE If there is nothing to return, the values of IA2TextSegment
+    struct are set as follows:  text = NULL, start = 0, end = 0.
+  */
+  [propget] HRESULT oldText
+    (
+     [out, retval] IA2TextSegment *oldText
+    );
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesAccessible2AccessibleText2idl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText2.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText2.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/Accessible2/AccessibleText2.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,98 +1,101 @@
</span><del>-/*************************************************************************
- *
- *  File Name (AccessibleText2.idl)
- * 
- *  IAccessible2 IDL Specification 
- * 
- *  Copyright (c) 2007, 2013 Linux Foundation 
- *  Copyright (c) 2006 IBM Corporation 
- *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
- *  All rights reserved. 
- *   
- *   
- *  Redistribution and use in source and binary forms, with or without 
- *  modification, are permitted provided that the following conditions 
- *  are met: 
- *   
- *   1. Redistributions of source code must retain the above copyright 
- *      notice, this list of conditions and the following disclaimer. 
- *   
- *   2. Redistributions in binary form must reproduce the above 
- *      copyright notice, this list of conditions and the following 
- *      disclaimer in the documentation and/or other materials 
- *      provided with the distribution. 
- *
- *   3. Neither the name of the Linux Foundation nor the names of its 
- *      contributors may be used to endorse or promote products 
- *      derived from this software without specific prior written 
- *      permission. 
- *   
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
- *  CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, 
- *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
- *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
- *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
- *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
- *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
- *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
- *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
- *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- *   
- *  This BSD License conforms to the Open Source Initiative &quot;Simplified 
- *  BSD License&quot; as published at: 
- *  http://www.opensource.org/licenses/bsd-license.php 
- *   
- *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
- *  mark may be used in accordance with the Linux Foundation Trademark 
- *  Policy to indicate compliance with the IAccessible2 specification. 
- * 
- ************************************************************************/ 
-
-import &quot;objidl.idl&quot;;
-import &quot;oaidl.idl&quot;;
-import &quot;oleacc.idl&quot;;
-import &quot;IA2CommonTypes.idl&quot;;
-import &quot;AccessibleText.idl&quot;;
-
-/** @brief This interface gives read-only access to text.
-
- The %IAccessibleText2 interface extends the functionality of the
- %IAccessibleText interface.
-*/
-[object, uuid(9690A9CC-5C80-4DF5-852E-2D5AE4189A54)]
-interface IAccessibleText2 : IAccessibleText
-{
-
-  /** @brief Returns the range and of the specified set of attributes.
-
-   Return the range (start and end offsets) and text attributes that correspond
-    to the given attributes filter at the given offset.
-
-   @param [in] offset
-    The offset at which to search for the attributes specified in the filter.
-   @param [in] filter
-    The requested attribute names.  The filter format is &quot;attribute1, attribute2&quot;.
-   @param [out] startOffset
-    The starting (0-based) offset of the text containing the specified attributes.
-   @param [out] endOffset
-    The (0-based) offset one past the last character of the text containing the
-    specified attributes.
-   @param [out] attributeValues
-    The values of the requested attributes.
-   @retval S_OK
-   @retval S_FALSE if nothing to return, [out] values are -1, -1, NULL respectively.
-   @retval E_INVALIDARG if bad [in] passed.
-   */
-  [propget] HRESULT attributeRange
-    (
-     [in] long offset,
-     [in] BSTR filter,
-     [out] long *startOffset,
-     [out] long *endOffset,    
-     [out, retval] BSTR *attributeValues
-    );
-
-}
</del><ins>+/*************************************************************************
+ *
+ *  File Name (AccessibleText2.idl)
+ * 
+ *  IAccessible2 IDL Specification 
+ * 
+ *  Copyright (c) 2007, 2013 Linux Foundation 
+ *  Copyright (c) 2006 IBM Corporation 
+ *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
+ *  All rights reserved. 
+ *   
+ *   
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met: 
+ *   
+ *   1. Redistributions of source code must retain the above copyright 
+ *      notice, this list of conditions and the following disclaimer. 
+ *   
+ *   2. Redistributions in binary form must reproduce the above 
+ *      copyright notice, this list of conditions and the following 
+ *      disclaimer in the documentation and/or other materials 
+ *      provided with the distribution. 
+ *
+ *   3. Neither the name of the Linux Foundation nor the names of its 
+ *      contributors may be used to endorse or promote products 
+ *      derived from this software without specific prior written 
+ *      permission. 
+ *   
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
+ *  CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, 
+ *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
+ *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+ *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+ *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
+ *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
+ *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
+ *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *   
+ *  This BSD License conforms to the Open Source Initiative &quot;Simplified 
+ *  BSD License&quot; as published at: 
+ *  http://www.opensource.org/licenses/bsd-license.php 
+ *   
+ *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
+ *  mark may be used in accordance with the Linux Foundation Trademark 
+ *  Policy to indicate compliance with the IAccessible2 specification. 
+ * 
+ ************************************************************************/ 
+
+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
+import &quot;objidl.idl&quot;;
+import &quot;oaidl.idl&quot;;
+import &quot;oleacc.idl&quot;;
+import &quot;IA2CommonTypes.idl&quot;;
+import &quot;AccessibleText.idl&quot;;
+
+/** @brief This interface gives read-only access to text.
+
+ The %IAccessibleText2 interface extends the functionality of the
+ %IAccessibleText interface.
+*/
+[object, uuid(9690A9CC-5C80-4DF5-852E-2D5AE4189A54)]
+interface IAccessibleText2 : IAccessibleText
+{
+
+  /** @brief Returns the range and of the specified set of attributes.
+
+   Return the range (start and end offsets) and text attributes that correspond
+    to the given attributes filter at the given offset.
+
+   @param [in] offset
+    The offset at which to search for the attributes specified in the filter.
+   @param [in] filter
+    The requested attribute names.  The filter format is &quot;attribute1, attribute2&quot;.
+   @param [out] startOffset
+    The starting (0-based) offset of the text containing the specified attributes.
+   @param [out] endOffset
+    The (0-based) offset one past the last character of the text containing the
+    specified attributes.
+   @param [out] attributeValues
+    The values of the requested attributes.
+   @retval S_OK
+   @retval S_FALSE if nothing to return, [out] values are -1, -1, NULL respectively.
+   @retval E_INVALIDARG if bad [in] passed.
+   */
+  [propget] HRESULT attributeRange
+    (
+     [in] long offset,
+     [in] BSTR filter,
+     [out] long *startOffset,
+     [out] long *endOffset,    
+     [out, retval] BSTR *attributeValues
+    );
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesIWebApplicationCacheidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/IWebApplicationCache.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/IWebApplicationCache.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/IWebApplicationCache.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -23,6 +23,9 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2402)
+
</ins><span class="cx"> #ifndef DO_NO_IMPORTS
</span><span class="cx"> import &quot;oaidl.idl&quot;;
</span><span class="cx"> import &quot;ocidl.idl&quot;;
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesIWebViewidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/IWebView.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/IWebView.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/IWebView.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006, 2007, 2008, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesIWebViewPrivateidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/IWebViewPrivate.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/IWebViewPrivate.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/IWebViewPrivate.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -205,7 +205,7 @@
</span><span class="cx">     HRESULT unused2();
</span><span class="cx"> 
</span><span class="cx">     // If rect is 0, the entire backing store will be invalidated.
</span><del>-    HRESULT invalidateBackingStore([in] const RECT* rect);
</del><ins>+    HRESULT invalidateBackingStore([in, optional] const RECT* rect);
</ins><span class="cx"> 
</span><span class="cx">     // Whitelists access from an origin (sourceOrigin) to a set of one or more origins described by the parameters:
</span><span class="cx">     // - destinationProtocol: The protocol to grant access to.
</span></span></pre></div>
<a id="trunkSourceWebKitwinInterfacesWebKitidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/Interfaces/WebKit.idl (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/Interfaces/WebKit.idl        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/Interfaces/WebKit.idl        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -57,6 +57,10 @@
</span><span class="cx"> 
</span><span class="cx"> #define DO_NO_IMPORTS
</span><span class="cx"> 
</span><ins>+midl_pragma warning(disable: 2111)
+midl_pragma warning(disable: 2392)
+midl_pragma warning(disable: 2402)
+
</ins><span class="cx"> import &quot;oaidl.idl&quot;;
</span><span class="cx"> import &quot;ocidl.idl&quot;;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinMemoryStreamcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/MemoryStream.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/MemoryStream.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/MemoryStream.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -53,9 +53,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE MemoryStream::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT MemoryStream::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_ISequentialStream))
</span><span class="lines">@@ -69,7 +71,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE MemoryStream::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE MemoryStream::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinMemoryStreamh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/MemoryStream.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/MemoryStream.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/MemoryStream.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -44,9 +44,9 @@
</span><span class="cx"> public:
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // ISequentialStream
</span><span class="cx">     virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read( 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebActionPropertyBagcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebActionPropertyBag.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebActionPropertyBag.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebActionPropertyBag.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -40,8 +40,7 @@
</span><span class="cx"> // WebActionPropertyBag ------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebActionPropertyBag::WebActionPropertyBag(const NavigationAction&amp; action, PassRefPtr&lt;HTMLFormElement&gt; form, PassRefPtr&lt;Frame&gt; frame)
</span><del>-    : m_refCount(0)
-    , m_action(action)
</del><ins>+    : m_action(action)
</ins><span class="cx">     , m_form(form)
</span><span class="cx">     , m_frame(frame)
</span><span class="cx"> {
</span><span class="lines">@@ -64,9 +63,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebActionPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebActionPropertyBag::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IPropertyBag*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IPropertyBag))
</span><span class="lines">@@ -78,12 +79,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebActionPropertyBag::AddRef()
</del><ins>+ULONG WebActionPropertyBag::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebActionPropertyBag::Release()
</del><ins>+ULONG WebActionPropertyBag::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -102,7 +103,7 @@
</span><span class="cx">     for (const Event* e = event; e; e = e-&gt;underlyingEvent())
</span><span class="cx">         if (e-&gt;isMouseEvent())
</span><span class="cx">             return static_cast&lt;const MouseEvent*&gt;(e);
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebActionPropertyBag::Read(LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog * /*pErrorLog*/)
</span><span class="lines">@@ -161,10 +162,10 @@
</span><span class="cx">     return E_INVALIDARG;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebActionPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
</del><ins>+HRESULT WebActionPropertyBag::Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar)
</ins><span class="cx"> {
</span><span class="cx">     if (!pszPropName || !pVar)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebActionPropertyBagh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebActionPropertyBag.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebActionPropertyBag.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebActionPropertyBag.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007-2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -41,22 +41,16 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="cx">     // IPropertyBag
</span><del>-    virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read( 
-        /* [in] */ LPCOLESTR pszPropName,
-        /* [out][in] */ VARIANT *pVar,
-        /* [in] */ IErrorLog *pErrorLog);
-        
-    virtual HRESULT STDMETHODCALLTYPE Write( 
-        /* [in] */ LPCOLESTR pszPropName,
-        /* [in] */ VARIANT *pVar);
</del><ins>+    virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(/* [in] */ LPCOLESTR pszPropName, /* [out][in] */ VARIANT*, /* [in] */ IErrorLog*);   
+    virtual HRESULT STDMETHODCALLTYPE Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     WebCore::NavigationAction m_action;
</span><span class="cx">     RefPtr&lt;WebCore::HTMLFormElement&gt; m_form;
</span><span class="cx">     RefPtr&lt;WebCore::Frame&gt; m_frame;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebApplicationCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebApplicationCache.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebApplicationCache.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebApplicationCache.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -65,9 +65,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebApplicationCache::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebApplicationCache::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;WebApplicationCache*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebApplicationCache))
</span><span class="lines">@@ -79,7 +81,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG WebApplicationCache::AddRef(void)
</del><ins>+ULONG WebApplicationCache::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebApplicationCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebApplicationCache.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebApplicationCache.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebApplicationCache.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -44,9 +44,9 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebApplicationCache
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE maximumSize(/*[out, retval]*/ long long*);
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebArchivecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebArchive.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebArchive.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebArchive.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -50,8 +50,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebArchive::WebArchive(PassRefPtr&lt;LegacyWebArchive&gt; coreArchive)
</span><del>-    : m_refCount(0)
-    , m_archive(coreArchive)
</del><ins>+    : m_archive(coreArchive)
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebArchive&quot;);
</span><span class="lines">@@ -63,9 +62,11 @@
</span><span class="cx">     gClassNameCount().remove(&quot;WebArchive&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebArchive::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebArchive*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(IWebArchive)))
</span><span class="lines">@@ -77,12 +78,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebArchive::AddRef()
</del><ins>+ULONG WebArchive::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebArchive::Release()
</del><ins>+ULONG WebArchive::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -91,24 +92,19 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::initWithMainResource(
-        /* [in] */ IWebResource*, 
-        /* [in, size_is(cSubResources)] */ IWebResource**, 
-        /* [in] */ int, 
-        /* in, size_is(cSubFrameArchives)] */ IWebArchive**, 
-        /* [in] */ int)
</del><ins>+HRESULT WebArchive::initWithMainResource(_In_opt_ IWebResource*, 
+    __inout_ecount_full(cSubResources) IWebResource**, int cSubResources,
+    __inout_ecount_full(cSubFrameArchives) IWebArchive**, int cSubFrameArchives)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::initWithData(
-        /* [in] */ IStream*)
</del><ins>+HRESULT WebArchive::initWithData(_In_opt_ IStream*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::initWithNode(
-        /* [in] */ IDOMNode* node)
</del><ins>+HRESULT WebArchive::initWithNode(_In_opt_ IDOMNode* node)
</ins><span class="cx"> {
</span><span class="cx">     if (!node)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -122,27 +118,36 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::mainResource(
-        /* [out, retval] */ IWebResource**)
</del><ins>+HRESULT WebArchive::mainResource(_COM_Outptr_opt_ IWebResource** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::subResources(
-        /* [out, retval] */ IEnumVARIANT**)
</del><ins>+HRESULT WebArchive::subResources(_COM_Outptr_opt_ IEnumVARIANT** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::subframeArchives(
-        /* [out, retval] */ IEnumVARIANT**)
</del><ins>+HRESULT WebArchive::subframeArchives(_COM_Outptr_opt_ IEnumVARIANT** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebArchive::data(
-        /* [out, retval] */ IStream** stream)
</del><ins>+HRESULT WebArchive::data(_COM_Outptr_opt_ IStream** stream)
</ins><span class="cx"> {
</span><ins>+    if (!stream)
+        return E_POINTER;
+
+    *stream = nullptr;
</ins><span class="cx">     RetainPtr&lt;CFDataRef&gt; cfData = m_archive-&gt;rawDataRepresentation();
</span><span class="cx">     if (!cfData)
</span><span class="cx">         return E_FAIL;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebArchiveh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebArchive.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebArchive.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebArchive.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -46,38 +46,23 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="cx">     // IWebArchive
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithMainResource(
-        /* [in] */ IWebResource* mainResource, 
-        /* [in, size_is(cSubResources)] */ IWebResource** subResources, 
-        /* [in] */ int cSubResources, 
-        /* in, size_is(cSubFrameArchives)] */ IWebArchive** subFrameArchives, 
-        /* [in] */ int cSubFrameArchives);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initWithMainResource(_In_opt_ IWebResource* mainResource, 
+        __inout_ecount_full(cSubResources) IWebResource** subResources, int cSubResources, 
+        __inout_ecount_full(cSubFrameArchives) IWebArchive** subFrameArchives, int cSubFrameArchives);
+    virtual HRESULT STDMETHODCALLTYPE  initWithData(_In_opt_ IStream*);
+    virtual HRESULT STDMETHODCALLTYPE  initWithNode(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE  mainResource(_COM_Outptr_opt_ IWebResource**);
+    virtual HRESULT STDMETHODCALLTYPE  subResources(_COM_Outptr_opt_ IEnumVARIANT**);
+    virtual HRESULT STDMETHODCALLTYPE  subframeArchives(_COM_Outptr_opt_ IEnumVARIANT**);
+    virtual HRESULT STDMETHODCALLTYPE  data(_COM_Outptr_opt_ IStream**);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE  initWithData(
-        /* [in] */ IStream*);
-
-    virtual HRESULT STDMETHODCALLTYPE  initWithNode(
-        /* [in] */ IDOMNode*);
-
-    virtual HRESULT STDMETHODCALLTYPE  mainResource(
-        /* [out, retval] */ IWebResource**);
-
-    virtual HRESULT STDMETHODCALLTYPE  subResources(
-        /* [out, retval] */ IEnumVARIANT**);
-
-    virtual HRESULT STDMETHODCALLTYPE  subframeArchives(
-        /* [out, retval] */ IEnumVARIANT**);
-
-    virtual HRESULT STDMETHODCALLTYPE  data(
-        /* [out, retval] */ IStream**);
-
</del><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::LegacyWebArchive&gt; m_archive;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebBackForwardListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebBackForwardList.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebBackForwardList.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebBackForwardList.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -48,8 +48,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebBackForwardList::WebBackForwardList(PassRefPtr&lt;BackForwardList&gt; backForwardList)
</span><del>-    : m_refCount(0)
-    , m_backForwardList(backForwardList)
</del><ins>+    : m_backForwardList(backForwardList)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!backForwardListWrappers().contains(m_backForwardList.get()));
</span><span class="cx">     backForwardListWrappers().set(m_backForwardList.get(), this);
</span><span class="lines">@@ -71,10 +70,8 @@
</span><span class="cx"> 
</span><span class="cx"> WebBackForwardList* WebBackForwardList::createInstance(PassRefPtr&lt;BackForwardList&gt; backForwardList)
</span><span class="cx"> {
</span><del>-    WebBackForwardList* instance;
</del><ins>+    WebBackForwardList* instance = backForwardListWrappers().get(backForwardList.get());
</ins><span class="cx"> 
</span><del>-    instance = backForwardListWrappers().get(backForwardList.get());
-
</del><span class="cx">     if (!instance)
</span><span class="cx">         instance = new WebBackForwardList(backForwardList);
</span><span class="cx"> 
</span><span class="lines">@@ -84,9 +81,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebBackForwardList::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebBackForwardList*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebBackForwardList))
</span><span class="lines">@@ -100,12 +99,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebBackForwardList::AddRef(void)
</del><ins>+ULONG WebBackForwardList::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebBackForwardList::Release(void)
</del><ins>+ULONG WebBackForwardList::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -116,8 +115,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebBackForwardList ---------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::addItem( 
-    /* [in] */ IWebHistoryItem* item)
</del><ins>+HRESULT WebBackForwardList::addItem(_In_opt_ IWebHistoryItem* item)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebHistoryItem&gt; webHistoryItem;
</span><span class="cx">  
</span><span class="lines">@@ -128,20 +126,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::goBack( void)
</del><ins>+HRESULT WebBackForwardList::goBack()
</ins><span class="cx"> {
</span><span class="cx">     m_backForwardList-&gt;goBack();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::goForward( void)
</del><ins>+HRESULT WebBackForwardList::goForward()
</ins><span class="cx"> {
</span><span class="cx">     m_backForwardList-&gt;goForward();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::goToItem( 
-    /* [in] */ IWebHistoryItem* item)
</del><ins>+HRESULT WebBackForwardList::goToItem(_In_opt_ IWebHistoryItem* item)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebHistoryItem&gt; webHistoryItem;
</span><span class="cx">  
</span><span class="lines">@@ -152,12 +149,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::backItem( 
-    /* [retval][out] */ IWebHistoryItem** item)
</del><ins>+HRESULT WebBackForwardList::backItem(_COM_Outptr_opt_ IWebHistoryItem** item)
</ins><span class="cx"> {
</span><span class="cx">     if (!item)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *item = nullptr;
</ins><span class="cx">     HistoryItem* historyItem = m_backForwardList-&gt;backItem();
</span><span class="cx"> 
</span><span class="cx">     if (!historyItem)
</span><span class="lines">@@ -167,14 +163,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::currentItem( 
-    /* [retval][out] */ IWebHistoryItem** item)
</del><ins>+HRESULT WebBackForwardList::currentItem(_COM_Outptr_opt_ IWebHistoryItem** item)
</ins><span class="cx"> {
</span><span class="cx">     if (!item)
</span><span class="cx">         return E_POINTER;
</span><ins>+    *item = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HistoryItem* historyItem = m_backForwardList-&gt;currentItem();
</span><del>-
</del><span class="cx">     if (!historyItem)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -182,14 +177,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::forwardItem( 
-    /* [retval][out] */ IWebHistoryItem** item)
</del><ins>+HRESULT WebBackForwardList::forwardItem(_COM_Outptr_opt_ IWebHistoryItem** item)
</ins><span class="cx"> {
</span><span class="cx">     if (!item)
</span><span class="cx">         return E_POINTER;
</span><ins>+    *item = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HistoryItem* historyItem = m_backForwardList-&gt;forwardItem();
</span><del>-
</del><span class="cx">     if (!historyItem)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -197,49 +191,50 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::backListWithLimit( 
-    /* [in] */ int limit,
-    /* [out] */ int* listCount,
-    /* [retval][out] */ IWebHistoryItem** list)
</del><ins>+HRESULT WebBackForwardList::backListWithLimit(int limit, _Out_ int* listCount,
+    __deref_inout_opt IWebHistoryItem** list)
</ins><span class="cx"> {
</span><span class="cx">     HistoryItemVector historyItemVector;
</span><span class="cx">     m_backForwardList-&gt;backListWithLimit(limit, historyItemVector);
</span><span class="cx"> 
</span><span class="cx">     *listCount = static_cast&lt;int&gt;(historyItemVector.size());
</span><span class="cx"> 
</span><del>-    if (list)
-        for (unsigned i = 0; i &lt; historyItemVector.size(); i++)
-            list[i] = WebHistoryItem::createInstance(historyItemVector[i].ptr());
</del><ins>+    if (!list)
+        return E_NOT_SUFFICIENT_BUFFER;
</ins><span class="cx"> 
</span><ins>+    for (unsigned i = 0; i &lt; historyItemVector.size(); i++)
+        list[i] = WebHistoryItem::createInstance(historyItemVector[i].ptr());
+
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::forwardListWithLimit( 
-    /* [in] */ int limit,
-    /* [out] */ int* listCount,
-    /* [retval][out] */ IWebHistoryItem** list)
</del><ins>+HRESULT WebBackForwardList::forwardListWithLimit(int limit, _Out_ int* listCount,
+    __deref_inout_opt IWebHistoryItem** list)
</ins><span class="cx"> {
</span><span class="cx">     HistoryItemVector historyItemVector;
</span><span class="cx">     m_backForwardList-&gt;forwardListWithLimit(limit, historyItemVector);
</span><span class="cx"> 
</span><span class="cx">     *listCount = static_cast&lt;int&gt;(historyItemVector.size());
</span><span class="cx"> 
</span><del>-    if (list)
-        for (unsigned i = 0; i &lt; historyItemVector.size(); i++)
-            list[i] = WebHistoryItem::createInstance(historyItemVector[i].ptr());
</del><ins>+    if (!list)
+        return E_NOT_SUFFICIENT_BUFFER;
+    
+    for (unsigned i = 0; i &lt; historyItemVector.size(); i++)
+        list[i] = WebHistoryItem::createInstance(historyItemVector[i].ptr());
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::capacity( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT WebBackForwardList::capacity(_Out_ int* result)
</ins><span class="cx"> {
</span><del>-    *result = (int)m_backForwardList-&gt;capacity();
</del><ins>+    if (!result)
+        return E_POINTER;
+
+    *result = m_backForwardList-&gt;capacity();
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::setCapacity( 
-    /* [in] */ int size)
</del><ins>+HRESULT WebBackForwardList::setCapacity(int size)
</ins><span class="cx"> {
</span><span class="cx">     if (size &lt; 0)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -248,24 +243,29 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::backListCount( 
-    /* [retval][out] */ int* count)
</del><ins>+HRESULT WebBackForwardList::backListCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
+
</ins><span class="cx">     *count = m_backForwardList-&gt;backListCount();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::forwardListCount( 
-    /* [retval][out] */ int* count)
</del><ins>+HRESULT WebBackForwardList::forwardListCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
+
</ins><span class="cx">     *count = m_backForwardList-&gt;forwardListCount();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::containsItem( 
-    /* [in] */ IWebHistoryItem* item,
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebBackForwardList::containsItem(_In_opt_ IWebHistoryItem* item, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     COMPtr&lt;WebHistoryItem&gt; webHistoryItem;
</span><span class="cx"> 
</span><span class="cx">     if (!item || FAILED(item-&gt;QueryInterface(&amp;webHistoryItem)))
</span><span class="lines">@@ -275,15 +275,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::itemAtIndex( 
-    /* [in] */ int index,
-    /* [retval][out] */ IWebHistoryItem** item)
</del><ins>+HRESULT WebBackForwardList::itemAtIndex(int index, _COM_Outptr_opt_ IWebHistoryItem** item)
</ins><span class="cx"> {
</span><span class="cx">     if (!item)
</span><span class="cx">         return E_POINTER;
</span><ins>+    *item = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HistoryItem* historyItem = m_backForwardList-&gt;itemAtIndex(index);
</span><del>-
</del><span class="cx">     if (!historyItem)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">  
</span><span class="lines">@@ -293,8 +291,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebBackForwardListPrivate --------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebBackForwardList::removeItem( 
-    /* [in] */ IWebHistoryItem* item)
</del><ins>+HRESULT WebBackForwardList::removeItem(_In_opt_ IWebHistoryItem* item)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebHistoryItem&gt; webHistoryItem;
</span><span class="cx">  
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebBackForwardListh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebBackForwardList.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebBackForwardList.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebBackForwardList.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -47,68 +47,32 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebBackForwardList
</span><del>-    virtual HRESULT STDMETHODCALLTYPE addItem( 
-        /* [in] */ IWebHistoryItem *item);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE addItem(_In_opt_ IWebHistoryItem*);    
+    virtual HRESULT STDMETHODCALLTYPE goBack();
+    virtual HRESULT STDMETHODCALLTYPE goForward();    
+    virtual HRESULT STDMETHODCALLTYPE goToItem(_In_opt_ IWebHistoryItem*);
+    virtual HRESULT STDMETHODCALLTYPE backItem(_COM_Outptr_opt_ IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE currentItem(_COM_Outptr_opt_ IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE forwardItem(_COM_Outptr_opt_ IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE backListWithLimit(int limit, _Out_ int* listCount, __deref_inout_opt IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE forwardListWithLimit(int limit, _Out_ int *listCount, __deref_inout_opt IWebHistoryItem **list);
+    virtual HRESULT STDMETHODCALLTYPE capacity(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setCapacity(int);
+    virtual HRESULT STDMETHODCALLTYPE backListCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE forwardListCount(_Out_ int*);   
+    virtual HRESULT STDMETHODCALLTYPE containsItem(_In_opt_ IWebHistoryItem*, _Out_ BOOL* result);   
+    virtual HRESULT STDMETHODCALLTYPE itemAtIndex(int index, _COM_Outptr_opt_ IWebHistoryItem**);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE goBack( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE goForward( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE goToItem( 
-        /* [in] */ IWebHistoryItem *item);
-    
-    virtual HRESULT STDMETHODCALLTYPE backItem( 
-        /* [retval][out] */ IWebHistoryItem **item);
-    
-    virtual HRESULT STDMETHODCALLTYPE currentItem( 
-        /* [retval][out] */ IWebHistoryItem **item);
-    
-    virtual HRESULT STDMETHODCALLTYPE forwardItem( 
-        /* [retval][out] */ IWebHistoryItem **item);
-    
-    virtual HRESULT STDMETHODCALLTYPE backListWithLimit( 
-        /* [in] */ int limit,
-        /* [out] */ int *listCount,
-        /* [in] */ IWebHistoryItem **list);
-    
-    virtual HRESULT STDMETHODCALLTYPE forwardListWithLimit( 
-        /* [in] */ int limit,
-        /* [out] */ int *listCount,
-        /* [in] */ IWebHistoryItem **list);
-    
-    virtual HRESULT STDMETHODCALLTYPE capacity( 
-        /* [retval][out] */ int *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCapacity( 
-        /* [in] */ int size);
-    
-    virtual HRESULT STDMETHODCALLTYPE backListCount( 
-        /* [retval][out] */ int *count);
-    
-    virtual HRESULT STDMETHODCALLTYPE forwardListCount( 
-        /* [retval][out] */ int *sizecount);
-    
-    virtual HRESULT STDMETHODCALLTYPE containsItem( 
-        /* [in] */ IWebHistoryItem *item,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE itemAtIndex( 
-        /* [in] */ int index,
-        /* [retval][out] */ IWebHistoryItem **item);
-    
</del><span class="cx">     // IWebBackForwardListPrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeItem( 
-        /* [in] */ IWebHistoryItem* item);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeItem(_In_opt_ IWebHistoryItem*);
</ins><span class="cx"> 
</span><del>-    // WebBackForwardList
-
</del><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::BackForwardList&gt; m_backForwardList;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCache.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCache.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCache.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,7 +39,6 @@
</span><span class="cx"> // WebCache ---------------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebCache::WebCache()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebCache&quot;);
</span><span class="lines">@@ -60,9 +59,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCache::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebCache::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;WebCache*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebCache))
</span><span class="lines">@@ -74,12 +75,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebCache::AddRef(void)
</del><ins>+ULONG WebCache::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebCache::Release(void)
</del><ins>+ULONG WebCache::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -90,7 +91,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebCache ------------------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebCache::statistics(int* count, IPropertyBag** s)
</del><ins>+HRESULT WebCache::statistics(_Inout_ int* count, _Inout_opt_ IPropertyBag** s)
</ins><span class="cx"> {
</span><span class="cx">     if (!count || (s &amp;&amp; *count &lt; 6))
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -204,7 +205,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCache::empty( void)
</del><ins>+HRESULT WebCache::empty()
</ins><span class="cx"> {
</span><span class="cx">     auto&amp; memoryCache = WebCore::MemoryCache::singleton();
</span><span class="cx">     if (memoryCache.disabled())
</span><span class="lines">@@ -221,15 +222,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCache::setDisabled( 
-    /* [in] */ BOOL disabled)
</del><ins>+HRESULT WebCache::setDisabled(BOOL disabled)
</ins><span class="cx"> {
</span><span class="cx">     WebCore::MemoryCache::singleton().setDisabled(!!disabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCache::disabled(
-    /* [out][retval] */ BOOL* disabled)
</del><ins>+HRESULT WebCache::disabled(_Out_ BOOL* disabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!disabled)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -237,7 +236,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebCache::cacheFolder(BSTR* location)
</del><ins>+HRESULT WebCache::cacheFolder(__deref_out_opt BSTR* location)
</ins><span class="cx"> {
</span><span class="cx"> #if USE(CURL)
</span><span class="cx">     String cacheFolder = WebCore::CurlCacheManager::getInstance().cacheDirectory();
</span><span class="lines">@@ -248,7 +247,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebCache::setCacheFolder(BSTR location)
</del><ins>+HRESULT WebCache::setCacheFolder(_In_ BSTR location)
</ins><span class="cx"> {
</span><span class="cx"> #if USE(CURL)
</span><span class="cx">     String cacheFolder(location, SysStringLen(location));
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCache.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCache.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCache.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,29 +38,20 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebCache
</span><del>-    virtual HRESULT STDMETHODCALLTYPE statistics( 
-        /* [in][out] */ int* count,
-        /* [retval][out] */ IPropertyBag **s);
-    
-    virtual HRESULT STDMETHODCALLTYPE empty(void);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDisabled( 
-        /* [in] */ BOOL disabled);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE statistics(_Inout_ int* count, _Inout_opt_ IPropertyBag**);
+    virtual HRESULT STDMETHODCALLTYPE empty();   
+    virtual HRESULT STDMETHODCALLTYPE setDisabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE disabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE cacheFolder(__deref_out_opt BSTR* location);
+    virtual HRESULT STDMETHODCALLTYPE setCacheFolder(_In_ BSTR location);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE disabled(
-        /* [out][retval] */ BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE cacheFolder(/* [out, retval] */ BSTR* location);
-
-    virtual HRESULT STDMETHODCALLTYPE setCacheFolder(/* [in] */ BSTR location);
-
</del><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreStatisticscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreStatistics.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreStatistics.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCoreStatistics.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008, 2014 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2014-2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> // WebCoreStatistics ---------------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebCoreStatistics::WebCoreStatistics()
</span><del>-: m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebCoreStatistics&quot;);
</span><span class="lines">@@ -67,9 +66,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebCoreStatistics::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;WebCoreStatistics*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebCoreStatistics))
</span><span class="lines">@@ -81,12 +82,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebCoreStatistics::AddRef(void)
</del><ins>+ULONG WebCoreStatistics::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebCoreStatistics::Release(void)
</del><ins>+ULONG WebCoreStatistics::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -97,8 +98,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebCoreStatistics ------------------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptObjectsCount( 
-    /* [retval][out] */ UINT* count)
</del><ins>+HRESULT WebCoreStatistics::javaScriptObjectsCount(_Out_ UINT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -108,8 +108,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptGlobalObjectsCount( 
-    /* [retval][out] */ UINT* count)
</del><ins>+HRESULT WebCoreStatistics::javaScriptGlobalObjectsCount(_Out_ UINT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -119,8 +118,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptProtectedObjectsCount( 
-    /* [retval][out] */ UINT* count)
</del><ins>+HRESULT WebCoreStatistics::javaScriptProtectedObjectsCount(_Out_ UINT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -130,8 +128,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptProtectedGlobalObjectsCount( 
-    /* [retval][out] */ UINT* count)
</del><ins>+HRESULT WebCoreStatistics::javaScriptProtectedGlobalObjectsCount(_Out_ UINT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -141,9 +138,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptProtectedObjectTypeCounts( 
-    /* [retval][out] */ IPropertyBag2** typeNamesAndCounts)
</del><ins>+HRESULT WebCoreStatistics::javaScriptProtectedObjectTypeCounts(_COM_Outptr_opt_ IPropertyBag2** typeNamesAndCounts)
</ins><span class="cx"> {
</span><ins>+    if (!typeNamesAndCounts)
+        return E_POINTER;
+
</ins><span class="cx">     JSLockHolder lock(JSDOMWindow::commonVM());
</span><span class="cx">     std::unique_ptr&lt;TypeCountSet&gt; jsObjectTypeNames(JSDOMWindow::commonVM().heap.protectedObjectTypeCounts());
</span><span class="cx">     typedef TypeCountSet::const_iterator Iterator;
</span><span class="lines">@@ -157,7 +156,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebCoreStatistics::javaScriptObjectTypeCounts(IPropertyBag2** typeNamesAndCounts)
</del><ins>+HRESULT WebCoreStatistics::javaScriptObjectTypeCounts(_COM_Outptr_opt_ IPropertyBag2** typeNamesAndCounts)
</ins><span class="cx"> {
</span><span class="cx">     if (!typeNamesAndCounts)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -175,8 +174,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconPageURLMappingCount( 
-    /* [retval][out] */ UINT* count)
</del><ins>+HRESULT WebCoreStatistics::iconPageURLMappingCount(_Out_ UINT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -184,8 +182,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconRetainedPageURLCount( 
-    /* [retval][out] */ UINT *count)
</del><ins>+HRESULT WebCoreStatistics::iconRetainedPageURLCount(_Out_ UINT *count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -193,8 +190,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconRecordCount( 
-    /* [retval][out] */ UINT *count)
</del><ins>+HRESULT WebCoreStatistics::iconRecordCount(_Out_ UINT *count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -202,8 +198,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconsWithDataCount( 
-    /* [retval][out] */ UINT *count)
</del><ins>+HRESULT WebCoreStatistics::iconsWithDataCount(_Out_ UINT *count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -211,8 +206,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::cachedFontDataCount( 
-    /* [retval][out] */ UINT *count)
</del><ins>+HRESULT WebCoreStatistics::cachedFontDataCount(_Out_ UINT *count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -220,8 +214,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::cachedFontDataInactiveCount( 
-    /* [retval][out] */ UINT *count)
</del><ins>+HRESULT WebCoreStatistics::cachedFontDataInactiveCount(_Out_ UINT *count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -229,14 +222,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::purgeInactiveFontData(void)
</del><ins>+HRESULT WebCoreStatistics::purgeInactiveFontData(void)
</ins><span class="cx"> {
</span><span class="cx">     FontCache::singleton().purgeInactiveFontData();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebCoreStatistics::glyphPageCount( 
-    /* [retval][out] */ UINT *count)
</del><ins>+HRESULT WebCoreStatistics::glyphPageCount(_Out_ UINT *count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -262,7 +254,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebCoreStatistics::shouldPrintExceptions(BOOL* shouldPrint)
</del><ins>+HRESULT WebCoreStatistics::shouldPrintExceptions(_Out_ BOOL* shouldPrint)
</ins><span class="cx"> {
</span><span class="cx">     if (!shouldPrint)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -291,7 +283,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebCoreStatistics::memoryStatistics(IPropertyBag** statistics)
</del><ins>+HRESULT WebCoreStatistics::memoryStatistics(_COM_Outptr_opt_ IPropertyBag** statistics)
</ins><span class="cx"> {
</span><span class="cx">     if (!statistics)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -323,7 +315,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebCoreStatistics::cachedPageCount(INT* count)
</del><ins>+HRESULT WebCoreStatistics::cachedPageCount(_Out_ INT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -332,7 +324,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebCoreStatistics::cachedFrameCount(INT* count)
</del><ins>+HRESULT WebCoreStatistics::cachedFrameCount(_Out_ INT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreStatisticsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreStatistics.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreStatistics.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCoreStatistics.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2008, 2014 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2008, 2014-2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -37,56 +37,39 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebCoreStatistics
</span><del>-    virtual HRESULT STDMETHODCALLTYPE javaScriptObjectsCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE javaScriptGlobalObjectsCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedObjectsCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedGlobalObjectsCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedObjectTypeCounts( 
-        /* [retval][out] */ IPropertyBag2** typeNamesAndCounts);
-    virtual HRESULT STDMETHODCALLTYPE iconPageURLMappingCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE iconRetainedPageURLCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE iconRecordCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE iconsWithDataCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE cachedFontDataCount( 
-        /* [retval][out] */ UINT *count);
-    virtual HRESULT STDMETHODCALLTYPE cachedFontDataInactiveCount( 
-        /* [retval][out] */ UINT *count);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE javaScriptObjectsCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE javaScriptGlobalObjectsCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedObjectsCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedGlobalObjectsCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedObjectTypeCounts(_COM_Outptr_opt_ IPropertyBag2** typeNamesAndCounts);
+    virtual HRESULT STDMETHODCALLTYPE iconPageURLMappingCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE iconRetainedPageURLCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE iconRecordCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE iconsWithDataCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE cachedFontDataCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE cachedFontDataInactiveCount(_Out_ UINT*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE purgeInactiveFontData();
</span><del>-    virtual HRESULT STDMETHODCALLTYPE glyphPageCount( 
-        /* [retval][out] */ UINT *count);
-
-    virtual HRESULT STDMETHODCALLTYPE javaScriptObjectTypeCounts(/* [retval][out] */ IPropertyBag2** typeNamesAndCounts);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE glyphPageCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE javaScriptObjectTypeCounts(_COM_Outptr_opt_ IPropertyBag2** typeNamesAndCounts);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE garbageCollectJavaScriptObjects();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging(BOOL waitUntilDone);
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setJavaScriptGarbageCollectorTimerEnabled(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE shouldPrintExceptions(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE shouldPrintExceptions(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setShouldPrintExceptions(BOOL);
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE startIgnoringWebCoreNodeLeaks();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE stopIgnoringWebCoreNodeLeaks();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE memoryStatistics(/* [retval][out] */ IPropertyBag** statistics);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE memoryStatistics(_COM_Outptr_opt_ IPropertyBag** statistics);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE returnFreeMemoryToSystem();
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE cachedPageCount(_Out_ INT*);
+    virtual HRESULT STDMETHODCALLTYPE cachedFrameCount(_Out_ INT*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cachedPageCount(/* [retval][out] */ INT *count);
-    virtual HRESULT STDMETHODCALLTYPE cachedFrameCount(/* [retval][out] */ INT *count);
-
</del><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebDesktopNotificationsDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     static NotificationCOMWrapper* create(Notification* inner) { return new NotificationCOMWrapper(inner); }
</span><span class="cx">    
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="lines">@@ -65,9 +65,11 @@
</span><span class="cx">     Notification* m_inner;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT NotificationCOMWrapper::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;NotificationCOMWrapper*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebDesktopNotification))
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebEditorClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -69,9 +69,9 @@
</span><span class="cx">     WebEditorUndoTarget();
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebUndoTarget
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE invoke( 
</span><span class="lines">@@ -87,9 +87,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebEditorUndoTarget::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebEditorUndoTarget::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebUndoTarget*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebUndoTarget))
</span><span class="lines">@@ -101,7 +103,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebEditorUndoTarget::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE WebEditorUndoTarget::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="lines">@@ -510,9 +512,9 @@
</span><span class="cx">     void execute();
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     ULONG m_refCount;
</span><span class="lines">@@ -535,9 +537,11 @@
</span><span class="cx">         m_step-&gt;reapply();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebEditorUndoCommand::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebEditorUndoCommand::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebUndoCommand*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebUndoCommand))
</span><span class="lines">@@ -549,7 +553,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebEditorUndoCommand::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE WebEditorUndoCommand::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebInspectorDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2008 Matt Lilek &lt;webkit@mattlilek.com&gt;
</span><del>- * Copyright (C) 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2014-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> #include &quot;WebInspectorDelegate.h&quot;
</span><span class="cx"> 
</span><span class="cx"> WebInspectorDelegate::WebInspectorDelegate()
</span><del>-    :m_refCount(0)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -41,12 +40,20 @@
</span><span class="cx">     return instance;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebInspectorDelegate::AddRef()
</del><ins>+HRESULT WebInspectorDelegate::QueryInterface(_In_ REFIID, _COM_Outptr_ void** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
+    return E_NOTIMPL;
+};
+
+ULONG WebInspectorDelegate::AddRef()
+{
</ins><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebInspectorDelegate::Release()
</del><ins>+ULONG WebInspectorDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -55,12 +62,44 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo(
-    /* [in] */ IWebView*,
-    /* [in] */ IDataObject*,
-    /* [retval][out] */ WebDragDestinationAction* action)
</del><ins>+HRESULT WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo(_In_opt_ IWebView*, _In_opt_ IDataObject*, _Out_ WebDragDestinationAction* action)
</ins><span class="cx"> {
</span><ins>+    if (!action)
+        return E_POINTER;
+
</ins><span class="cx">     *action = WebDragDestinationActionNone;
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><ins>+
+HRESULT WebInspectorDelegate::createWebViewWithRequest(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView** webView)
+{
+    if (!webView)
+        return E_POINTER;
+    *webView = nullptr;
+    return E_NOTIMPL;
+}
+
+HRESULT WebInspectorDelegate::willPerformDragSourceAction(_In_opt_ IWebView*, WebDragSourceAction, _In_ LPPOINT, _In_opt_ IDataObject*, _COM_Outptr_opt_ IDataObject** dataObject)
+{
+    if (!dataObject)
+        return E_POINTER;
+    *dataObject = nullptr;
+    return E_NOTIMPL;
+}
+
+HRESULT WebInspectorDelegate::createModalDialog(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView** dialog)
+{
+    if (!dialog)
+        return E_POINTER;
+    *dialog = nullptr;
+    return E_NOTIMPL;
+}
+
+HRESULT WebInspectorDelegate::desktopNotificationsDelegate(_COM_Outptr_opt_ IWebDesktopNotificationsDelegate** notificationDelegate)
+{
+    if (!notificationDelegate)
+        return E_POINTER;
+    *notificationDelegate = nullptr;
+    return E_NOTIMPL;
+}
</ins></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebInspectorDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2008 Matt Lilek &lt;webkit@mattlilek.com&gt;
</span><del>- * Copyright (C) 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2014-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,270 +39,158 @@
</span><span class="cx">     // IUnknown
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**) { return E_NOTIMPL; };
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void**);
</ins><span class="cx"> 
</span><span class="cx">     // IWebUIDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo( 
-        /* [in] */ IWebView*,
-        /* [in] */ IDataObject*,
-        /* [retval][out] */ WebDragDestinationAction* action);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(_In_opt_ IWebView*, _In_opt_ IDataObject*, _Out_ WebDragDestinationAction*);
</ins><span class="cx"> 
</span><span class="cx">     // Not implemented
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest( 
-        /* [in] */ IWebView*,
-        /* [in] */ IWebURLRequest*,
-        /* [retval][out] */ IWebView**) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView**);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewShow( 
-        /* [in] */ IWebView*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewShow(_In_opt_ IWebView*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewClose( 
-        /* [in] */ IWebView*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewClose(_In_opt_ IWebView*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewFocus( 
-        /* [in] */ IWebView*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewFocus(_In_opt_ IWebView*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus( 
-        /* [in] */ IWebView*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(_In_opt_ IWebView*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(IWebView*, HWND*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(_In_opt_ IWebView*, HWND*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(IWebView*, HWND) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(_In_opt_ IWebView*, HWND) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setStatusText( 
-        /* [in] */ IWebView*,
-        /* [in] */ BSTR) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setStatusText(_In_opt_ IWebView*, _In_ BSTR) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewStatusText( 
-        /* [in] */ IWebView*,
-        /* [retval][out] */ BSTR*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewStatusText(_In_opt_ IWebView*, __deref_opt_out BSTR*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible( 
-        /* [in] */ IWebView*,
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible( 
-        /* [in] */ IWebView*,
-        /* [in] */ BOOL) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible( 
-        /* [in] */ IWebView*,
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible( 
-        /* [in] */ IWebView*,
-        /* [in] */ BOOL) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable( 
-        /* [in] */ IWebView*,
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setResizable( 
-        /* [in] */ IWebView*,
-        /* [in] */ BOOL) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setResizable(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setFrame( 
-        /* [in] */ IWebView*,
-        /* [in] */ RECT*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setFrame(_In_opt_ IWebView*, _In_ RECT*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewFrame( 
-        /* [in] */ IWebView*,
-        /* [retval][out] */ RECT*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewFrame(_In_opt_ IWebView*, _Out_ RECT*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setContentRect( 
-        /* [in] */ IWebView*,
-        /* [in] */ RECT*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setContentRect(_In_opt_ IWebView*, _In_ RECT*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewContentRect( 
-        /* [in] */ IWebView*,
-        /* [retval][out] */ RECT*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewContentRect(_In_opt_ IWebView*, _Out_ RECT*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage( 
-        /* [in] */ IWebView*,
-        /* [in] */ BSTR) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage( 
-        /* [in] */ IWebView*,
-        /* [in] */ BSTR,
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt( 
-        /* [in] */ IWebView*,
-        /* [in] */ BSTR /*message*/,
-        /* [in] */ BSTR /*defaultText*/,
-        /* [retval][out] */ BSTR*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(_In_opt_ IWebView*, _In_ BSTR /*message*/, _In_ BSTR /*defaultText*/, __deref_opt_out BSTR*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage( 
-        /* [in] */ IWebView*,
-        /* [in] */ BSTR /*message*/,
-        /* [in] */ IWebFrame*  /*initiatedByFrame*/,
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR /*message*/, _In_opt_ IWebFrame* /*initiatedByFrame*/, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener( 
-        /* [in] */ IWebView*,
-        /* [in] */ IWebOpenPanelResultListener*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(_In_opt_ IWebView*, _In_opt_ IWebOpenPanelResultListener*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement( 
-        /* [in] */ IWebView*,
-        /* [in] */ IPropertyBag*,
-        /* [in] */ UINT /*modifierFlags*/) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(_In_opt_ IWebView*, _In_opt_ IPropertyBag*, UINT /*modifierFlags*/) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(IWebView*, IPropertyBag*, HMENU, HMENU*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(_In_opt_ IWebView*, IPropertyBag*, HMENU, HMENU*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem( 
-        /* [in] */ IWebView*,
-        /* [in] */ UINT,
-        /* [in] */ BOOL,
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(_In_opt_ IWebView*, UINT, BOOL, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction( 
-        /* [in] */ IWebView*,
-        /* [in] */ UINT /*itemCommandID*/,
-        /* [in] */ UINT /*sender*/) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(_In_opt_ IWebView*, UINT /*itemCommandID*/, UINT /*sender*/) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction( 
-        /* [in] */ IWebView*,
-        /* [in] */ WebDragDestinationAction,
-        /* [in] */ IDataObject*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(_In_opt_ IWebView*, WebDragDestinationAction, _In_opt_ IDataObject*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint( 
-        /* [in] */ IWebView*,
-        /* [in] */ LPPOINT,
-        /* [retval][out] */ WebDragSourceAction*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(_In_opt_ IWebView*, _In_ LPPOINT, _Out_ WebDragSourceAction*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction( 
-        /* [in] */ IWebView*,
-        /* [in] */ WebDragSourceAction,
-        /* [in] */ LPPOINT,
-        /* [in] */ IDataObject*,
-        /* [retval][out] */ IDataObject**) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(_In_opt_ IWebView*, WebDragSourceAction, _In_ LPPOINT, _In_opt_ IDataObject*, _COM_Outptr_opt_ IDataObject**);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected( 
-        /* [in] */ IWebView*,
-        /* [in] */ void*  /*item*/,
-        /* [in] */ IPropertyBag*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(_In_opt_ IWebView*, _In_opt_ void* /*item*/, _In_opt_ IPropertyBag*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation( 
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(_Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(/* [in] */ IWebView*, /* [in] */ HMENU, /* [in] */ LPPOINT) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(_In_opt_ IWebView*, /* [in] */ HMENU, /* [in] */ LPPOINT) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem( 
-        /* [in] */ IWebView*,
-        /* [in] */ void*  /*measureItem*/) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem(_In_opt_ IWebView*, _In_opt_ void* /*measureItem*/) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem( 
-        /* [in] */ IWebView*,
-        /* [in] */ void*  /*drawItem*/) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem(_In_opt_ IWebView*, _In_opt_ void* /*drawItem*/) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(/* [in] */ IWebView*, /* [in] */ HMENU) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(_In_opt_ IWebView*, /* [in] */ HMENU) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(/* [in] */ IWebView*, /* [in] */ HMENU) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(_In_opt_ IWebView*, /* [in] */ HMENU) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE canTakeFocus( 
-        /* [in] */ IWebView*,
-        /* [in] */ BOOL /*forward*/,
-        /* [out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE canTakeFocus(_In_opt_ IWebView*, BOOL /*forward*/, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE takeFocus( 
-        /* [in] */ IWebView*,
-        /* [in] */ BOOL /*forward*/) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE takeFocus(_In_opt_ IWebView*, BOOL /*forward*/) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget( 
-        /* [in] */ IWebUndoTarget*,
-        /* [in] */ BSTR /*actionName*/,
-        /* [in] */ IUnknown*  /*actionArg*/) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(_In_opt_ IWebUndoTarget*, _In_ BSTR /*actionName*/, _In_opt_ IUnknown* /*actionArg*/) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget( 
-        /* [in] */ IWebUndoTarget*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(_In_opt_ IWebUndoTarget*)
+    {
+        return E_NOTIMPL;
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setActionTitle( 
-        /* [in] */ BSTR) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setActionTitle(_In_ BSTR) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE undo() { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE undo()
+    {
+        return E_NOTIMPL; 
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE redo() { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE redo()
+    {
+        return E_NOTIMPL; 
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE canUndo( 
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE canUndo(_Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE canRedo( 
-        /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE canRedo(_Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE printFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE printFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ BSTR *path) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(_In_opt_ IWebView*, __deref_opt_out BSTR* path) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ float *result) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(_In_opt_ IWebView*, _Out_ float*) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ float *result) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(_In_opt_ IWebView*, _Out_ float*) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(IWebView*, RECT*, ULONG_PTR) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(IWebView*, RECT*, ULONG_PTR, UINT, UINT) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR, UINT, UINT) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ RECT *rect) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(_In_opt_ IWebView*, _Out_ RECT*) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE canRunModal( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ BOOL *canRunBoolean) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE canRunModal(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createModalDialog( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebURLRequest *request,
-        /* [retval][out] */ IWebView **newWebView) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createModalDialog(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView**);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE runModal( 
-        /* [in] */ IWebView *webView) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE runModal(_In_opt_ IWebView*) 
+    {
+        return E_NOTIMPL;
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BOOL visible) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR displayName,
-        /* [in] */ IWebFrame *initiatedByFrame,
-        /* [retval][out] */ BOOL *allowed) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(_In_opt_ IWebView*, _In_ BSTR displayName, _In_opt_ IWebFrame*, _Out_ BOOL* allowed) { return E_NOTIMPL; }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ HDC hDC,
-        /* [in] */ RECT rect,
-        /* [in] */ WebScrollBarControlSize size,
-        /* [in] */ WebScrollbarControlState state,
-        /* [in] */ WebScrollbarControlPart pressedPart,
-        /* [in] */ BOOL vertical,
-        /* [in] */ float value,
-        /* [in] */ float proportion,
-        /* [in] */ WebScrollbarControlPartMask parts) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(_In_opt_ IWebView*, _In_ HDC, RECT, WebScrollBarControlSize, WebScrollbarControlState,
+        WebScrollbarControlPart pressedPart, BOOL vertical, float value, float proportion, WebScrollbarControlPartMask parts)
+    {
+        return E_NOTIMPL;
+    }
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ HDC hDC,
-        /* [in] */ RECT rect) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(_In_opt_ IWebView*, _In_ HDC, RECT) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate(
-        /* [retval][out] */ IWebDesktopNotificationsDelegate **result) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate(_COM_Outptr_opt_ IWebDesktopNotificationsDelegate**);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebInspectorDelegate();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // WebInspectorDelegate_h
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDataSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDataSource.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDataSource.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDataSource.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2013 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2013, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -50,12 +50,10 @@
</span><span class="cx"> // WebDataSource ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> // {F230854D-7091-428a-8DB5-37CABA44C105}
</span><del>-const GUID IID_WebDataSource = 
-{ 0x5c2f9099, 0xe65e, 0x4a0f, { 0x9c, 0xa0, 0x6a, 0xd6, 0x92, 0x52, 0xa6, 0x2a } };
</del><ins>+const GUID IID_WebDataSource = { 0x5c2f9099, 0xe65e, 0x4a0f, { 0x9c, 0xa0, 0x6a, 0xd6, 0x92, 0x52, 0xa6, 0x2a } };
</ins><span class="cx"> 
</span><span class="cx"> WebDataSource::WebDataSource(WebDocumentLoader* loader)
</span><del>-    : m_refCount(0)
-    , m_loader(loader)
</del><ins>+    : m_loader(loader)
</ins><span class="cx"> {
</span><span class="cx">     WebDataSourceCount++;
</span><span class="cx">     gClassCount++;
</span><span class="lines">@@ -85,32 +83,29 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebDataSourcePrivate ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::overrideEncoding( 
-    /* [retval][out] */ BSTR* /*encoding*/)
</del><ins>+HRESULT WebDataSource::overrideEncoding(_Deref_opt_out_ BSTR* /*encoding*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::setOverrideEncoding( 
-    /* [in] */ BSTR /*encoding*/)
</del><ins>+HRESULT WebDataSource::setOverrideEncoding(_In_ BSTR /*encoding*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::mainDocumentError(
-        /* [retval][out] */ IWebError** error)
</del><ins>+HRESULT WebDataSource::mainDocumentError(_COM_Outptr_opt_ IWebError** error)
</ins><span class="cx"> {
</span><span class="cx">     if (!error) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *error = 0;
</del><ins>+    *error = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_loader)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     if (m_loader-&gt;mainDocumentError().isNull())
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -119,11 +114,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::setDeferMainResourceDataLoad(
-    /* [in] */ BOOL flag)
</del><ins>+HRESULT WebDataSource::setDeferMainResourceDataLoad(BOOL flag)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_loader)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     m_loader-&gt;setDeferMainResourceDataLoad(flag);
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -131,9 +125,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebDataSource::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_WebDataSource))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="lines">@@ -149,12 +145,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDataSource::AddRef(void)
</del><ins>+ULONG WebDataSource::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDataSource::Release(void)
</del><ins>+ULONG WebDataSource::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -165,25 +161,31 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebDataSource --------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::initWithRequest( 
-    /* [in] */ IWebURLRequest* /*request*/)
</del><ins>+HRESULT WebDataSource::initWithRequest(_In_opt_ IWebURLRequest* /*request*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::data( 
-    /* [retval][out] */ IStream** stream)
</del><ins>+HRESULT WebDataSource::data(_COM_Outptr_opt_ IStream** stream)
</ins><span class="cx"> {
</span><del>-    *stream = 0;
</del><ins>+    if (!stream)
+        return E_POINTER;
+    *stream = nullptr;
</ins><span class="cx">     if (!m_loader)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     return MemoryStream::createInstance(m_loader-&gt;mainResourceData()).copyRefTo(stream);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebDataSource::representation(/* [retval][out] */ IWebDocumentRepresentation** rep)
</del><ins>+HRESULT WebDataSource::representation(_COM_Outptr_opt_ IWebDocumentRepresentation** rep)
</ins><span class="cx"> {
</span><ins>+    if (!rep)
+        return E_POINTER;
+    *rep = nullptr;
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     HRESULT hr = S_OK;
</span><span class="cx">     if (!m_representation) {
</span><span class="cx">         WebHTMLRepresentation* htmlRep = WebHTMLRepresentation::createInstance(static_cast&lt;WebFrameLoaderClient&amp;&gt;(m_loader-&gt;frameLoader()-&gt;client()).webFrame());
</span><span class="lines">@@ -194,37 +196,63 @@
</span><span class="cx">     return m_representation.copyRefTo(rep);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebDataSource::webFrame(/* [retval][out] */ IWebFrame** frame)
</del><ins>+HRESULT WebDataSource::webFrame(_COM_Outptr_opt_ IWebFrame** frame)
</ins><span class="cx"> {
</span><ins>+    if (!frame)
+        return E_POINTER;
+    *frame = nullptr;
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     *frame = static_cast&lt;WebFrameLoaderClient&amp;&gt;(m_loader-&gt;frameLoader()-&gt;client()).webFrame();
</span><span class="cx">     (*frame)-&gt;AddRef();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::initialRequest( 
-    /* [retval][out] */ IWebURLRequest** request)
</del><ins>+HRESULT WebDataSource::initialRequest(_COM_Outptr_opt_ IWebURLRequest** request)
</ins><span class="cx"> {
</span><ins>+    if (!request)
+        return E_POINTER;
+    *request = nullptr;
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     *request = WebMutableURLRequest::createInstance(m_loader-&gt;originalRequest());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::request( 
-    /* [retval][out] */ IWebMutableURLRequest** request)
</del><ins>+HRESULT WebDataSource::request(_COM_Outptr_opt_ IWebMutableURLRequest** request)
</ins><span class="cx"> {
</span><ins>+    if (!request)
+        return E_POINTER;
+    *request = nullptr;
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     *request = WebMutableURLRequest::createInstance(m_loader-&gt;request());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::response( 
-    /* [retval][out] */ IWebURLResponse** response)
</del><ins>+HRESULT WebDataSource::response(_COM_Outptr_opt_ IWebURLResponse** response)
</ins><span class="cx"> {
</span><ins>+    if (!response)
+        return E_POINTER;
+    *response = nullptr;
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     *response = WebURLResponse::createInstance(m_loader-&gt;response());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::textEncodingName( 
-    /* [retval][out] */ BSTR* name)
</del><ins>+HRESULT WebDataSource::textEncodingName(_Deref_opt_out_ BSTR* name)
</ins><span class="cx"> {
</span><ins>+    if (!name)
+        return E_POINTER;
+
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     String encoding = m_loader-&gt;overrideEncoding();
</span><span class="cx">     if (encoding.isNull())
</span><span class="cx">         encoding = m_loader-&gt;response().textEncodingName();
</span><span class="lines">@@ -234,23 +262,38 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::isLoading( 
-    /* [retval][out] */ BOOL* loading)
</del><ins>+HRESULT WebDataSource::isLoading(_Out_ BOOL* loading)
</ins><span class="cx"> {
</span><ins>+    if (!loading)
+        return E_POINTER;
+
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     *loading = m_loader-&gt;isLoadingInAPISense();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::pageTitle( 
-    /* [retval][out] */ BSTR* title)
</del><ins>+HRESULT WebDataSource::pageTitle(_Deref_opt_out_ BSTR* title)
</ins><span class="cx"> {
</span><ins>+    if (!title)
+        return E_POINTER;
+
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     *title = BString(m_loader-&gt;title().string()).release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::unreachableURL( 
-    /* [retval][out] */ BSTR* url)
</del><ins>+HRESULT WebDataSource::unreachableURL(_Deref_opt_out_ BSTR* url)
</ins><span class="cx"> {
</span><ins>+    if (!url)
+        return E_POINTER;
+
+    if (!m_loader)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     URL unreachableURL = m_loader-&gt;unreachableURL();
</span><span class="cx">     BString urlString(unreachableURL.string());
</span><span class="cx"> 
</span><span class="lines">@@ -258,30 +301,34 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::webArchive( 
-    /* [retval][out] */ IWebArchive** /*archive*/)
</del><ins>+HRESULT WebDataSource::webArchive(_COM_Outptr_opt_ IWebArchive** archive)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!archive)
+        return E_POINTER;
+    *archive = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::mainResource( 
-    /* [retval][out] */ IWebResource** /*resource*/)
</del><ins>+HRESULT WebDataSource::mainResource(_COM_Outptr_opt_ IWebResource** resource)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!resource)
+        return E_POINTER;
+    *resource = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::subresources( 
-    /* [retval][out] */ IEnumVARIANT** /*result*/)
</del><ins>+HRESULT WebDataSource::subresources(_COM_Outptr_opt_ IEnumVARIANT** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::subresourceForURL( 
-    /* [in] */ BSTR url,
-    /* [retval][out] */ IWebResource** resource)
</del><ins>+HRESULT WebDataSource::subresourceForURL(_In_ BSTR url, _COM_Outptr_opt_ IWebResource** resource)
</ins><span class="cx"> {
</span><span class="cx">     if (!resource) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -290,8 +337,10 @@
</span><span class="cx"> 
</span><span class="cx">     *resource = nullptr;
</span><span class="cx"> 
</span><ins>+    if (!m_loader)
+        return E_UNEXPECTED;
+    
</ins><span class="cx">     Document* doc = m_loader-&gt;frameLoader()-&gt;frame().document();
</span><del>-
</del><span class="cx">     if (!doc)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -304,8 +353,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDataSource::addSubresource( 
-    /* [in] */ IWebResource* /*subresource*/)
</del><ins>+HRESULT WebDataSource::addSubresource(_In_opt_ IWebResource* /*subresource*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDataSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDataSource.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDataSource.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDataSource.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006, 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -45,78 +45,39 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebDataSource
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithRequest( 
-        /* [in] */ IWebURLRequest *request);
-    
-    virtual HRESULT STDMETHODCALLTYPE data( 
-        /* [retval][out] */ IStream **stream);
-    
-    virtual HRESULT STDMETHODCALLTYPE representation( 
-        /* [retval][out] */ IWebDocumentRepresentation **rep);
-    
-    virtual HRESULT STDMETHODCALLTYPE webFrame( 
-        /* [retval][out] */ IWebFrame **frame);
-    
-    virtual HRESULT STDMETHODCALLTYPE initialRequest( 
-        /* [retval][out] */ IWebURLRequest **request);
-    
-    virtual HRESULT STDMETHODCALLTYPE request( 
-        /* [retval][out] */ IWebMutableURLRequest **request);
-    
-    virtual HRESULT STDMETHODCALLTYPE response( 
-        /* [retval][out] */ IWebURLResponse **response);
-    
-    virtual HRESULT STDMETHODCALLTYPE textEncodingName( 
-        /* [retval][out] */ BSTR *name);
-    
-    virtual HRESULT STDMETHODCALLTYPE isLoading( 
-        /* [retval][out] */ BOOL *loading);
-    
-    virtual HRESULT STDMETHODCALLTYPE pageTitle( 
-        /* [retval][out] */ BSTR *title);
-    
-    virtual HRESULT STDMETHODCALLTYPE unreachableURL( 
-        /* [retval][out] */ BSTR *url);
-    
-    virtual HRESULT STDMETHODCALLTYPE webArchive( 
-        /* [retval][out] */ IWebArchive **archive);
-    
-    virtual HRESULT STDMETHODCALLTYPE mainResource( 
-        /* [retval][out] */ IWebResource **resource);
-    
-    virtual HRESULT STDMETHODCALLTYPE subresources( 
-        /* [retval][out] */ IEnumVARIANT **enumResources);
-    
-    virtual HRESULT STDMETHODCALLTYPE subresourceForURL( 
-        /* [in] */ BSTR url,
-        /* [retval][out] */ IWebResource **resource);
-    
-    virtual HRESULT STDMETHODCALLTYPE addSubresource( 
-        /* [in] */ IWebResource *subresource);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initWithRequest(_In_opt_ IWebURLRequest*);
+    virtual HRESULT STDMETHODCALLTYPE data(_COM_Outptr_opt_ IStream**);
+    virtual HRESULT STDMETHODCALLTYPE representation(_COM_Outptr_opt_ IWebDocumentRepresentation**);
+    virtual HRESULT STDMETHODCALLTYPE webFrame(_COM_Outptr_opt_ IWebFrame**);
+    virtual HRESULT STDMETHODCALLTYPE initialRequest(_COM_Outptr_opt_ IWebURLRequest**);
+    virtual HRESULT STDMETHODCALLTYPE request(_COM_Outptr_opt_ IWebMutableURLRequest**);
+    virtual HRESULT STDMETHODCALLTYPE response(_COM_Outptr_opt_ IWebURLResponse**);
+    virtual HRESULT STDMETHODCALLTYPE textEncodingName(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE isLoading(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE pageTitle(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE unreachableURL(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE webArchive(_COM_Outptr_opt_ IWebArchive**);
+    virtual HRESULT STDMETHODCALLTYPE mainResource(_COM_Outptr_opt_ IWebResource**);
+    virtual HRESULT STDMETHODCALLTYPE subresources(_COM_Outptr_opt_ IEnumVARIANT** enumResources);
+    virtual HRESULT STDMETHODCALLTYPE subresourceForURL(_In_ BSTR url, _COM_Outptr_opt_ IWebResource**);
+    virtual HRESULT STDMETHODCALLTYPE addSubresource(_In_opt_ IWebResource*);
</ins><span class="cx"> 
</span><span class="cx">     // IWebDataSourcePrivate
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE overrideEncoding(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setOverrideEncoding(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE mainDocumentError(_COM_Outptr_opt_ IWebError**);
+    virtual HRESULT STDMETHODCALLTYPE setDeferMainResourceDataLoad(BOOL);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE overrideEncoding( 
-        /* [retval][out] */ BSTR *encoding);
-    
-    virtual HRESULT STDMETHODCALLTYPE setOverrideEncoding( 
-        /* [in] */ BSTR encoding);
-
-    virtual HRESULT STDMETHODCALLTYPE mainDocumentError(
-        /* [retval][out] */ IWebError** error);
-
-    virtual HRESULT STDMETHODCALLTYPE setDeferMainResourceDataLoad(
-        /* [in] */ BOOL flag);
-
</del><span class="cx">     // WebDataSource
</span><span class="cx">     WebDocumentLoader* documentLoader() const;
</span><ins>+
</ins><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebDocumentLoader&gt; m_loader;
</span><span class="cx">     COMPtr&lt;IWebDocumentRepresentation&gt; m_representation;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDatabaseManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDatabaseManager.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDatabaseManager.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDatabaseManager.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007-2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -57,20 +57,19 @@
</span><span class="cx">     static DatabaseDetailsPropertyBag* createInstance(const DatabaseDetails&amp;);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="cx">     // IPropertyBag
</span><del>-    virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog);
-    virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT* pVar);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE Read(_In_ LPCOLESTR pszPropName, _Inout_ VARIANT*, _In_ IErrorLog*);
+    virtual HRESULT STDMETHODCALLTYPE Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT*);
</ins><span class="cx"> private:
</span><span class="cx">     DatabaseDetailsPropertyBag(const DatabaseDetails&amp; details) 
</span><del>-        : m_refCount(0)
-        , m_details(details) { }
</del><ins>+        : m_details(details) { }
</ins><span class="cx">     ~DatabaseDetailsPropertyBag() { }
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     DatabaseDetails m_details;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -83,12 +82,12 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown ------------------------------------------------------------------------
</span><del>-ULONG STDMETHODCALLTYPE DatabaseDetailsPropertyBag::AddRef()
</del><ins>+ULONG DatabaseDetailsPropertyBag::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE DatabaseDetailsPropertyBag::Release()
</del><ins>+ULONG DatabaseDetailsPropertyBag::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -97,9 +96,11 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DatabaseDetailsPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DatabaseDetailsPropertyBag::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;DatabaseDetailsPropertyBag*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IPropertyBag))
</span><span class="lines">@@ -112,7 +113,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IPropertyBag --------------------------------------------------------------------
</span><del>-HRESULT DatabaseDetailsPropertyBag::Read(LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog*)
</del><ins>+HRESULT DatabaseDetailsPropertyBag::Read(_In_ LPCOLESTR pszPropName, _Inout_ VARIANT* pVar, _In_ IErrorLog*)
</ins><span class="cx"> {
</span><span class="cx">     if (!pszPropName || !pVar)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -133,12 +134,12 @@
</span><span class="cx">     return E_INVALIDARG;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DatabaseDetailsPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
</del><ins>+HRESULT DatabaseDetailsPropertyBag::Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar)
</ins><span class="cx"> {
</span><span class="cx">     if (!pszPropName || !pVar)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static COMPtr&lt;WebDatabaseManager&gt; s_sharedWebDatabaseManager;
</span><span class="lines">@@ -152,7 +153,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebDatabaseManager::WebDatabaseManager()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebDatabaseManager&quot;);
</span><span class="lines">@@ -165,9 +165,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown ------------------------------------------------------------------------
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebDatabaseManager::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;WebDatabaseManager*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebDatabaseManager))
</span><span class="lines">@@ -179,12 +181,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDatabaseManager::AddRef()
</del><ins>+ULONG WebDatabaseManager::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDatabaseManager::Release()
</del><ins>+ULONG WebDatabaseManager::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -196,9 +198,11 @@
</span><span class="cx"> template&lt;&gt; struct COMVariantSetter&lt;RefPtr&lt;SecurityOrigin&gt; &gt; : COMIUnknownVariantSetter&lt;WebSecurityOrigin, RefPtr&lt;SecurityOrigin&gt; &gt; {};
</span><span class="cx"> 
</span><span class="cx"> // IWebDatabaseManager -------------------------------------------------------------
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::sharedWebDatabaseManager( 
-    /* [retval][out] */ IWebDatabaseManager** result)
</del><ins>+HRESULT WebDatabaseManager::sharedWebDatabaseManager(_COM_Outptr_opt_ IWebDatabaseManager** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     if (!s_sharedWebDatabaseManager) {
</span><span class="cx">         s_sharedWebDatabaseManager.adoptRef(WebDatabaseManager::createInstance());
</span><span class="cx">         DatabaseManager::singleton().setClient(s_sharedWebDatabaseManager.get());
</span><span class="lines">@@ -207,13 +211,12 @@
</span><span class="cx">     return s_sharedWebDatabaseManager.copyRefTo(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::origins( 
-    /* [retval][out] */ IEnumVARIANT** result)
</del><ins>+HRESULT WebDatabaseManager::origins(_COM_Outptr_opt_ IEnumVARIANT** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (this != s_sharedWebDatabaseManager)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -226,14 +229,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::databasesWithOrigin( 
-    /* [in] */ IWebSecurityOrigin* origin,
-    /* [retval][out] */ IEnumVARIANT** result)
</del><ins>+HRESULT WebDatabaseManager::databasesWithOrigin(_In_opt_ IWebSecurityOrigin* origin, _COM_Outptr_opt_ IEnumVARIANT** result)
</ins><span class="cx"> {
</span><del>-    if (!origin || !result)
</del><ins>+    if (!result)
</ins><span class="cx">         return E_POINTER;
</span><ins>+    *result = nullptr;
+    if (!origin)
+        return E_POINTER;
</ins><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (this != s_sharedWebDatabaseManager)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -251,16 +255,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::detailsForDatabase( 
-    /* [in] */ BSTR databaseName,
-    /* [in] */ IWebSecurityOrigin* origin,
-    /* [retval][out] */ IPropertyBag** result)
</del><ins>+HRESULT WebDatabaseManager::detailsForDatabase(_In_ BSTR databaseName, _In_opt_ IWebSecurityOrigin* origin, _COM_Outptr_opt_ IPropertyBag** result)
</ins><span class="cx"> {
</span><del>-    if (!origin || !result)
</del><ins>+    if (!result)
</ins><span class="cx">         return E_POINTER;
</span><ins>+    *result = nullptr;
+    if (!origin)
+        return E_POINTER;
</ins><span class="cx"> 
</span><del>-    *result = 0;
-
</del><span class="cx">     if (this != s_sharedWebDatabaseManager)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -278,7 +280,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteAllDatabases()
</del><ins>+HRESULT WebDatabaseManager::deleteAllDatabases()
</ins><span class="cx"> {
</span><span class="cx">     if (this != s_sharedWebDatabaseManager)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -288,8 +290,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteOrigin( 
-    /* [in] */ IWebSecurityOrigin* origin)
</del><ins>+HRESULT WebDatabaseManager::deleteOrigin(_In_opt_ IWebSecurityOrigin* origin)
</ins><span class="cx"> {
</span><span class="cx">     if (!origin)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -306,9 +307,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteDatabase( 
-    /* [in] */ BSTR databaseName,
-    /* [in] */ IWebSecurityOrigin* origin)
</del><ins>+HRESULT WebDatabaseManager::deleteDatabase(_In_ BSTR databaseName, _In_opt_ IWebSecurityOrigin* origin)
</ins><span class="cx"> {
</span><span class="cx">     if (!origin)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -370,9 +369,7 @@
</span><span class="cx">     notifyCenter-&gt;postNotificationName(databaseDidModifyOriginName, securityOrigin.get(), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDatabaseManager::setQuota(
-    /* [in] */ BSTR origin,
-    /* [in] */ unsigned long long quota)
</del><ins>+HRESULT WebDatabaseManager::setQuota(_In_ BSTR origin, unsigned long long quota)
</ins><span class="cx"> {
</span><span class="cx">     if (!origin)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDatabaseManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDatabaseManager.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDatabaseManager.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDatabaseManager.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007-2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -37,43 +37,20 @@
</span><span class="cx">     static WebDatabaseManager* createInstance();
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface( 
-        /* [in] */ REFIID riid,
-        /* [iid_is][out] */ void** ppvObject);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><del>-
</del><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="cx">     // IWebDatabaseManager
</span><del>-    virtual HRESULT STDMETHODCALLTYPE sharedWebDatabaseManager( 
-        /* [retval][out] */ IWebDatabaseManager** result);
-        
-    virtual HRESULT STDMETHODCALLTYPE origins( 
-        /* [retval][out] */ IEnumVARIANT** result);
-        
-    virtual HRESULT STDMETHODCALLTYPE databasesWithOrigin( 
-        /* [in] */ IWebSecurityOrigin* origin,
-        /* [retval][out] */ IEnumVARIANT** result);
-        
-    virtual HRESULT STDMETHODCALLTYPE detailsForDatabase( 
-        /* [in] */ BSTR databaseName,
-        /* [in] */ IWebSecurityOrigin* origin,
-        /* [retval][out] */ IPropertyBag** result);
-        
-    virtual HRESULT STDMETHODCALLTYPE deleteAllDatabases();
-        
-    virtual HRESULT STDMETHODCALLTYPE deleteOrigin( 
-        /* [in] */ IWebSecurityOrigin* origin);
-        
-    virtual HRESULT STDMETHODCALLTYPE deleteDatabase( 
-        /* [in] */ BSTR databaseName,
-        /* [in] */ IWebSecurityOrigin* origin);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE sharedWebDatabaseManager(_COM_Outptr_opt_ IWebDatabaseManager** result);
+    virtual HRESULT STDMETHODCALLTYPE origins(_COM_Outptr_opt_ IEnumVARIANT** result);
+    virtual HRESULT STDMETHODCALLTYPE databasesWithOrigin(_In_opt_ IWebSecurityOrigin*, _COM_Outptr_opt_ IEnumVARIANT** result);   
+    virtual HRESULT STDMETHODCALLTYPE detailsForDatabase(_In_ BSTR databaseName, _In_opt_ IWebSecurityOrigin*, _COM_Outptr_opt_ IPropertyBag** result);
+    virtual HRESULT STDMETHODCALLTYPE deleteAllDatabases();        
+    virtual HRESULT STDMETHODCALLTYPE deleteOrigin(_In_opt_ IWebSecurityOrigin*);       
+    virtual HRESULT STDMETHODCALLTYPE deleteDatabase(_In_ BSTR databaseName, _In_opt_ IWebSecurityOrigin*);
+    virtual HRESULT STDMETHODCALLTYPE setQuota(_In_ BSTR origin, unsigned long long quota);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setQuota(
-        /* [in] */ BSTR origin,
-        /* [in] */ unsigned long long quota);
-
</del><span class="cx">     // DatabaseManagerClient
</span><span class="cx">     virtual void dispatchDidModifyOrigin(WebCore::SecurityOrigin*);
</span><span class="cx">     virtual void dispatchDidModifyDatabase(WebCore::SecurityOrigin*, const WTF::String&amp; databaseName);
</span><span class="lines">@@ -82,7 +59,7 @@
</span><span class="cx">     WebDatabaseManager();
</span><span class="cx">     ~WebDatabaseManager();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> void WebKitInitializeWebDatabasesIfNecessary();
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDownloadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDownload.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDownload.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDownload.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -52,7 +52,6 @@
</span><span class="cx"> // WebDownload ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebDownload::WebDownload()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebDownload&quot;);
</span><span class="lines">@@ -91,9 +90,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT STDMETHODCALLTYPE WebDownload::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebDownload*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebDownload))
</span><span class="lines">@@ -109,12 +110,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDownload::AddRef(void)
</del><ins>+ULONG WebDownload::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDownload::Release(void)
</del><ins>+ULONG WebDownload::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -125,17 +126,13 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebDownload -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::canResumeDownloadDecodedWithEncodingMIMEType(
-        /* [in] */ BSTR, 
-        /* [out, retval] */ BOOL*)
</del><ins>+HRESULT WebDownload::canResumeDownloadDecodedWithEncodingMIMEType(_In_ BSTR, _Out_ BOOL*)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::bundlePathForTargetPath(
-        /* [in] */ BSTR targetPath, 
-        /* [out, retval] */ BSTR* bundlePath)
</del><ins>+HRESULT WebDownload::bundlePathForTargetPath(_In_ BSTR targetPath, __deref_out_opt BSTR* bundlePath)
</ins><span class="cx"> {
</span><span class="cx">     if (!targetPath)
</span><span class="cx">         return E_INVALIDARG;
</span><span class="lines">@@ -154,13 +151,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::request(
-        /* [out, retval] */ IWebURLRequest** request)
</del><ins>+HRESULT WebDownload::request(_COM_Outptr_opt_ IWebURLRequest** request)
</ins><span class="cx"> {
</span><del>-    if (request) {
-        *request = m_request.get();
-        if (*request)
-            (*request)-&gt;AddRef();
-    }
</del><ins>+    if (!request)
+        return E_POINTER;
+
+    *request = m_request.get();
+    if (*request)
+        (*request)-&gt;AddRef();
+
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDownloadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDownload.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDownload.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDownload.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -62,57 +62,28 @@
</span><span class="cx">     ~WebDownload();
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebDownload
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithRequest(
-        /* [in] */ IWebURLRequest* request, 
-        /* [in] */ IWebDownloadDelegate* delegate);
-
-    virtual HRESULT STDMETHODCALLTYPE initToResumeWithBundle(
-        /* [in] */ BSTR bundlePath, 
-        /* [in] */ IWebDownloadDelegate* delegate);
-
-    virtual HRESULT STDMETHODCALLTYPE canResumeDownloadDecodedWithEncodingMIMEType(
-        /* [in] */ BSTR mimeType, 
-        /* [out, retval] */ BOOL* result);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initWithRequest(_In_opt_ IWebURLRequest*, _In_opt_ IWebDownloadDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE initToResumeWithBundle(_In_ BSTR bundlePath, _In_opt_ IWebDownloadDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE canResumeDownloadDecodedWithEncodingMIMEType(_In_ BSTR mimeType, _Out_ BOOL* result);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE start();
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE cancel();
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE cancelForResume();
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE deletesFileUponFailure(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE bundlePathForTargetPath(_In_ BSTR target, __deref_out_opt BSTR* bundle);
+    virtual HRESULT STDMETHODCALLTYPE request(_COM_Outptr_opt_ IWebURLRequest**);
+    virtual HRESULT STDMETHODCALLTYPE setDeletesFileUponFailure(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setDestination(_In_ BSTR path, BOOL allowOverwrite);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE deletesFileUponFailure(
-        /* [out, retval] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE bundlePathForTargetPath(
-        /* [in] */ BSTR target, 
-        /* [out, retval] */ BSTR* bundle);
-
-    virtual HRESULT STDMETHODCALLTYPE request(
-        /* [out, retval] */ IWebURLRequest** request);
-
-    virtual HRESULT STDMETHODCALLTYPE setDeletesFileUponFailure(
-        /* [in] */ BOOL deletesFileUponFailure);
-
-    virtual HRESULT STDMETHODCALLTYPE setDestination(
-        /* [in] */ BSTR path, 
-        /* [in] */ BOOL allowOverwrite);
-
</del><span class="cx">     // IWebURLAuthenticationChallengeSender
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge*);
+    virtual HRESULT STDMETHODCALLTYPE continueWithoutCredentialForAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge*);
+    virtual HRESULT STDMETHODCALLTYPE useCredential(_In_opt_ IWebURLCredential*, _In_opt_ IWebURLAuthenticationChallenge*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE continueWithoutCredentialForAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
-    virtual HRESULT STDMETHODCALLTYPE useCredential(
-        /* [in] */ IWebURLCredential* credential, 
-        /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
</del><span class="cx"> #if USE(CFNETWORK)
</span><span class="cx">     // CFURLDownload Callbacks
</span><span class="cx">     void didStart();
</span><span class="lines">@@ -134,7 +105,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> 
</span><span class="cx">     WTF::String m_destination;
</span><span class="cx">     WTF::String m_bundlePath;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDownloadCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDownloadCFNet.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDownloadCFNet.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDownloadCFNet.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -121,9 +121,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebDownload -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::initWithRequest(
-        /* [in] */ IWebURLRequest* request, 
-        /* [in] */ IWebDownloadDelegate* delegate)
</del><ins>+HRESULT WebDownload::initWithRequest(_In_opt_ IWebURLRequest* request, _In_opt_ IWebDownloadDelegate* delegate)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebMutableURLRequest&gt; webRequest;
</span><span class="cx">     if (!request || FAILED(request-&gt;QueryInterface(&amp;webRequest))) {
</span><span class="lines">@@ -147,7 +145,7 @@
</span><span class="cx">     // If for some reason the download failed to create, 
</span><span class="cx">     // we have particular cleanup to do
</span><span class="cx">     if (!m_download) {
</span><del>-        m_request = 0;    
</del><ins>+        m_request = nullptr;    
</ins><span class="cx">         return E_FAIL;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -158,9 +156,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::initToResumeWithBundle(
-        /* [in] */ BSTR bundlePath, 
-        /* [in] */ IWebDownloadDelegate* delegate)
</del><ins>+HRESULT WebDownload::initToResumeWithBundle(_In_ BSTR bundlePath, _In_opt_ IWebDownloadDelegate* delegate)
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;Attempting resume of download bundle %s&quot;, String(bundlePath, SysStringLen(bundlePath)).ascii().data());
</span><span class="cx"> 
</span><span class="lines">@@ -208,7 +204,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::start()
</del><ins>+HRESULT WebDownload::start()
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;WebDownload - Starting download (%p)&quot;, this);
</span><span class="cx">     if (!m_download)
</span><span class="lines">@@ -222,18 +218,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::cancel()
</del><ins>+HRESULT WebDownload::cancel()
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;WebDownload - Cancelling download (%p)&quot;, this);
</span><span class="cx">     if (!m_download)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     CFURLDownloadCancel(m_download.get());
</span><del>-    m_download = 0;
</del><ins>+    m_download = nullptr;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::cancelForResume()
</del><ins>+HRESULT WebDownload::cancelForResume()
</ins><span class="cx"> {
</span><span class="cx">     LOG(Download, &quot;WebDownload - Cancelling download (%p), writing resume information to file if possible&quot;, this);
</span><span class="cx">     ASSERT(m_download);
</span><span class="lines">@@ -261,21 +257,22 @@
</span><span class="cx">     DownloadBundle::appendResumeData(resumeBytes, resumeLength, m_bundlePath);
</span><span class="cx"> 
</span><span class="cx"> exit:
</span><del>-    m_download = 0;
</del><ins>+    m_download = nullptr;
</ins><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::deletesFileUponFailure(
-        /* [out, retval] */ BOOL* result)
</del><ins>+HRESULT WebDownload::deletesFileUponFailure(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = FALSE;
</ins><span class="cx">     if (!m_download)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     *result = CFURLDownloadDeletesUponFailure(m_download.get());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::setDeletesFileUponFailure(
-        /* [in] */ BOOL deletesFileUponFailure)
</del><ins>+HRESULT WebDownload::setDeletesFileUponFailure(BOOL deletesFileUponFailure)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_download)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -283,9 +280,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::setDestination(
-        /* [in] */ BSTR path, 
-        /* [in] */ BOOL allowOverwrite)
</del><ins>+HRESULT WebDownload::setDestination(_In_ BSTR path, BOOL allowOverwrite)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_download)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -304,12 +299,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebURLAuthenticationChallengeSender -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::cancelAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge*)
</del><ins>+HRESULT WebDownload::cancelAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge*)
</ins><span class="cx"> {
</span><span class="cx">     if (m_download) {
</span><span class="cx">         CFURLDownloadCancel(m_download.get());
</span><del>-        m_download = 0;
</del><ins>+        m_download = nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Do we need a URL or description for this error code?
</span><span class="lines">@@ -320,8 +314,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::continueWithoutCredentialForAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT WebDownload::continueWithoutCredentialForAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebURLAuthenticationChallenge&gt; webChallenge(Query, challenge);
</span><span class="cx">     if (!webChallenge)
</span><span class="lines">@@ -332,9 +325,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownload::useCredential(
-        /* [in] */ IWebURLCredential* credential, 
-        /* [in] */ IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT WebDownload::useCredential(_In_opt_ IWebURLCredential* credential, _In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebURLAuthenticationChallenge&gt; webChallenge(Query, challenge);
</span><span class="cx">     if (!webChallenge)
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDropSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDropSource.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDropSource.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDropSource.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -51,9 +51,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebDropSource::WebDropSource(WebView* webView)
</span><del>-: m_ref(1)
-, m_dropped(false) 
-, m_webView(webView)
</del><ins>+    : m_webView(webView)
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebDropSource&quot;);
</span><span class="lines">@@ -65,9 +63,11 @@
</span><span class="cx">     gClassNameCount().remove(&quot;WebDropSource&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP WebDropSource::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+STDMETHODIMP WebDropSource::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualIID(riid, IID_IUnknown) || 
</span><span class="cx">         IsEqualIID(riid, IID_IDropSource)) {
</span><span class="cx">         *ppvObject = this;
</span><span class="lines">@@ -79,12 +79,12 @@
</span><span class="cx">     return E_NOINTERFACE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP_(ULONG) WebDropSource::AddRef(void)
</del><ins>+STDMETHODIMP_(ULONG) WebDropSource::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return InterlockedIncrement(&amp;m_ref);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP_(ULONG) WebDropSource::Release(void)
</del><ins>+STDMETHODIMP_(ULONG) WebDropSource::Release()
</ins><span class="cx"> {
</span><span class="cx">     long c = InterlockedDecrement(&amp;m_ref);
</span><span class="cx">     if (c == 0)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">         isDrag ? LeftButton : NoButton, PlatformEvent::MouseMoved, 0, false, false, false, false, currentTime(), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP WebDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
</del><ins>+STDMETHODIMP WebDropSource::QueryContinueDrag(_In_ BOOL fEscapePressed, _In_ DWORD grfKeyState)
</ins><span class="cx"> {
</span><span class="cx">     if (fEscapePressed || !(grfKeyState &amp; (MK_LBUTTON|MK_RBUTTON))) {
</span><span class="cx">         m_dropped = !fEscapePressed;
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP WebDropSource::GiveFeedback(DWORD dwEffect)
</del><ins>+STDMETHODIMP WebDropSource::GiveFeedback(_In_ DWORD dwEffect)
</ins><span class="cx"> {
</span><span class="cx">     BOOL showCustomCursors;
</span><span class="cx">     if (FAILED(WebPreferences::sharedStandardPreferences()-&gt;customDragCursorsEnabled(&amp;showCustomCursors)))
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebDropSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebDropSource.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebDropSource.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebDropSource.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -41,18 +41,18 @@
</span><span class="cx"> class WebDropSource : public IDropSource
</span><span class="cx"> {
</span><span class="cx"> public:
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);        
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
-    virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState);
-    virtual HRESULT STDMETHODCALLTYPE GiveFeedback(DWORD dwEffect);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);        
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
+    virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(_In_ BOOL fEscapePressed, _In_ DWORD grfKeyState);
+    virtual HRESULT STDMETHODCALLTYPE GiveFeedback(_In_ DWORD dwEffect);
</ins><span class="cx"> 
</span><span class="cx">     static HRESULT createInstance(WebView* webView, IDropSource** result);
</span><span class="cx"> private:
</span><span class="cx">     WebDropSource(WebView* webView);
</span><span class="cx">     ~WebDropSource();
</span><del>-    long m_ref;
-    bool m_dropped;
</del><ins>+    long m_ref { 1 };
+    bool m_dropped { false };
</ins><span class="cx">     COMPtr&lt;WebView&gt; m_webView;
</span><span class="cx"> 
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebElementPropertyBagcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebElementPropertyBag.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebElementPropertyBag.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebElementPropertyBag.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2013 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2013, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx"> // WebElementPropertyBag -----------------------------------------------
</span><span class="cx"> WebElementPropertyBag::WebElementPropertyBag(const HitTestResult&amp; result)
</span><span class="cx">     : m_result(std::make_unique&lt;HitTestResult&gt;(result))
</span><del>-    , m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebElementPropertyBag&quot;);
</span><span class="lines">@@ -66,9 +65,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebElementPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebElementPropertyBag::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IPropertyBag*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IPropertyBag))
</span><span class="lines">@@ -80,12 +81,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebElementPropertyBag::AddRef(void)
</del><ins>+ULONG WebElementPropertyBag::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebElementPropertyBag::Release(void)
</del><ins>+ULONG WebElementPropertyBag::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -195,10 +196,10 @@
</span><span class="cx">     return E_INVALIDARG;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebElementPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
</del><ins>+HRESULT WebElementPropertyBag::Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar)
</ins><span class="cx"> {
</span><span class="cx">     if (!pszPropName || !pVar)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebElementPropertyBagh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebElementPropertyBag.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebElementPropertyBag.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebElementPropertyBag.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -43,23 +43,17 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IPropertyBag
</span><del>-    virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read( 
-        /* [in] */ LPCOLESTR pszPropName,
-        /* [out][in] */ VARIANT *pVar,
-        /* [in] */ IErrorLog *pErrorLog);
-        
-    virtual HRESULT STDMETHODCALLTYPE Write( 
-        /* [in] */ LPCOLESTR pszPropName,
-        /* [in] */ VARIANT *pVar);
</del><ins>+    virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog);
+    virtual HRESULT STDMETHODCALLTYPE Write(_In_ LPCOLESTR pszPropName, _In_ VARIANT* pVar);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     std::unique_ptr&lt;WebCore::HitTestResult&gt; m_result;
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // WebElementPropertyBag_H
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebErrorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebError.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebError.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebError.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -42,8 +42,7 @@
</span><span class="cx"> // WebError ---------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebError::WebError(const ResourceError&amp; error, IPropertyBag* userInfo)
</span><del>-    : m_refCount(0)
-    , m_error(error)
</del><ins>+    : m_error(error)
</ins><span class="cx">     , m_userInfo(userInfo)
</span><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="lines">@@ -70,9 +69,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebError::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT STDMETHODCALLTYPE WebError::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebError*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, CLSID_WebError))
</span><span class="lines">@@ -88,12 +89,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebError::AddRef(void)
</del><ins>+ULONG WebError::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebError::Release(void)
</del><ins>+ULONG WebError::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -104,24 +105,21 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebError ------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebError::init( 
-    /* [in] */ BSTR domain,
-    /* [in] */ int code,
-    /* [in] */ BSTR url)
</del><ins>+HRESULT WebError::init(_In_ BSTR domain, int code, _In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     m_error = ResourceError(String(domain, SysStringLen(domain)), code, String(url, SysStringLen(url)), String());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">   
</span><del>-HRESULT STDMETHODCALLTYPE WebError::code( 
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT WebError::code(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_error.errorCode();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE WebError::domain( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebError::domain(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -130,8 +128,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">                
</span><del>-HRESULT STDMETHODCALLTYPE WebError::localizedDescription( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebError::localizedDescription(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -149,40 +146,47 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE WebError::localizedFailureReason( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT WebError::localizedFailureReason(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE WebError::localizedRecoveryOptions( 
-    /* [retval][out] */ IEnumVARIANT** /*result*/)
</del><ins>+HRESULT WebError::localizedRecoveryOptions(__deref_opt_out IEnumVARIANT** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE WebError::localizedRecoverySuggestion( 
-    /* [retval][out] */ BSTR* /*result*/)
</del><ins>+HRESULT STDMETHODCALLTYPE WebError::localizedRecoverySuggestion(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">        
</span><del>-HRESULT STDMETHODCALLTYPE WebError::recoverAttempter( 
-    /* [retval][out] */ IUnknown** /*result*/)
</del><ins>+HRESULT STDMETHODCALLTYPE WebError::recoverAttempter(__deref_opt_out IUnknown** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT STDMETHODCALLTYPE WebError::userInfo( 
-    /* [retval][out] */ IPropertyBag** result)
</del><ins>+HRESULT WebError::userInfo(_COM_Outptr_opt_ IPropertyBag** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_userInfo)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -190,8 +194,7 @@
</span><span class="cx">     return m_userInfo.copyRefTo(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebError::failingURL( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebError::failingURL(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -200,8 +203,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebError::isPolicyChangeError( 
-    /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT WebError::isPolicyChangeError(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -211,7 +213,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebError::sslPeerCertificate(/* [retval][out] */ ULONG_PTR* result)
</del><ins>+HRESULT WebError::sslPeerCertificate(_Out_ ULONG_PTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebErrorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebError.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebError.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebError.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -41,53 +41,30 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebError
</span><del>-    virtual HRESULT STDMETHODCALLTYPE init( 
-        /* [in] */ BSTR domain,
-        /* [in] */ int code,
-        /* [in] */ BSTR url);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE init(_In_ BSTR domain, int code, _In_ BSTR url);
+    virtual HRESULT STDMETHODCALLTYPE code(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE domain(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE localizedDescription(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE localizedFailureReason(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE localizedRecoveryOptions(__deref_opt_out IEnumVARIANT** result);
+    virtual HRESULT STDMETHODCALLTYPE localizedRecoverySuggestion(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE recoverAttempter(__deref_opt_out IUnknown** result);
+    virtual HRESULT STDMETHODCALLTYPE userInfo(_COM_Outptr_opt_ IPropertyBag **result);
+    virtual HRESULT STDMETHODCALLTYPE failingURL(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE isPolicyChangeError(_Out_ BOOL*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE code( 
-        /* [retval][out] */ int *result);
-        
-    virtual HRESULT STDMETHODCALLTYPE domain( 
-        /* [retval][out] */ BSTR *result);
-        
-    virtual HRESULT STDMETHODCALLTYPE localizedDescription( 
-        /* [retval][out] */ BSTR *result);
-        
-    virtual HRESULT STDMETHODCALLTYPE localizedFailureReason( 
-        /* [retval][out] */ BSTR *result);
-        
-    virtual HRESULT STDMETHODCALLTYPE localizedRecoveryOptions( 
-        /* [retval][out] */ IEnumVARIANT **result);
-        
-    virtual HRESULT STDMETHODCALLTYPE localizedRecoverySuggestion( 
-        /* [retval][out] */ BSTR *result);
-       
-    virtual HRESULT STDMETHODCALLTYPE recoverAttempter( 
-        /* [retval][out] */ IUnknown **result);
-        
-    virtual HRESULT STDMETHODCALLTYPE userInfo( 
-        /* [retval][out] */ IPropertyBag **result);
-
-    virtual HRESULT STDMETHODCALLTYPE failingURL( 
-        /* [retval][out] */ BSTR *result);
-
-    virtual HRESULT STDMETHODCALLTYPE isPolicyChangeError( 
-        /* [retval][out] */ BOOL *result);
-
</del><span class="cx">     // IWebErrorPrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE sslPeerCertificate(/* [retval][out] */ ULONG_PTR* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE sslPeerCertificate(_Out_ ULONG_PTR*);
</ins><span class="cx"> 
</span><span class="cx">     const WebCore::ResourceError&amp; resourceError() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     COMPtr&lt;IPropertyBag&gt; m_userInfo;
</span><span class="cx"> #if USE(CFNETWORK)
</span><span class="cx">     RetainPtr&lt;CFDictionaryRef&gt; m_cfErrorUserInfoDict;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebFrame.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebFrame.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebFrame.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> WebFrame* kit(Frame* frame)
</span><span class="cx"> {
</span><span class="cx">     if (!frame)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Doesn't this need to be aware of EmptyFrameLoaderClient?
</span><span class="cx">     FrameLoaderClient&amp; frameLoaderClient = frame-&gt;loader().client();
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> Frame* core(WebFrame* webFrame)
</span><span class="cx"> {
</span><span class="cx">     if (!webFrame)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     return webFrame-&gt;impl();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -168,16 +168,16 @@
</span><span class="cx"> Frame* core(const WebFrame* webFrame)
</span><span class="cx"> {
</span><span class="cx">     if (!webFrame)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     return const_cast&lt;WebFrame*&gt;(webFrame)-&gt;impl();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> //-----------------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-static Element *elementFromDOMElement(IDOMElement *element)
</del><ins>+static Element* elementFromDOMElement(IDOMElement* element)
</ins><span class="cx"> {
</span><span class="cx">     if (!element)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;IDOMElementPrivate&gt; elePriv;
</span><span class="cx">     HRESULT hr = element-&gt;QueryInterface(IID_IDOMElementPrivate, (void**) &amp;elePriv);
</span><span class="lines">@@ -229,26 +229,20 @@
</span><span class="cx"> class WebFrame::WebFramePrivate {
</span><span class="cx"> public:
</span><span class="cx">     WebFramePrivate() 
</span><del>-        : frame(0)
-        , webView(0)
</del><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ~WebFramePrivate() { }
</span><del>-    FrameView* frameView() { return frame ? frame-&gt;view() : 0; }
</del><ins>+    FrameView* frameView() { return frame ? frame-&gt;view() : nullptr; }
</ins><span class="cx"> 
</span><del>-    Frame* frame;
-    WebView* webView;
</del><ins>+    Frame* frame { nullptr };
+    WebView* webView { nullptr };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> // WebFrame ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebFrame::WebFrame()
</span><del>-    : m_refCount(0)
-    , d(new WebFrame::WebFramePrivate)
-    , m_quickRedirectComing(false)
-    , m_inPrintingMode(false)
-    , m_pageHeight(0)
</del><ins>+    : d(new WebFrame::WebFramePrivate)
</ins><span class="cx"> {
</span><span class="cx">     WebFrameCount++;
</span><span class="cx">     gClassCount++;
</span><span class="lines">@@ -270,8 +264,7 @@
</span><span class="cx">     return instance;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::setAllowsScrolling(
-    /* [in] */ BOOL flag)
</del><ins>+HRESULT WebFrame::setAllowsScrolling(BOOL flag)
</ins><span class="cx"> {
</span><span class="cx">     if (Frame* frame = core(this))
</span><span class="cx">         if (FrameView* view = frame-&gt;view())
</span><span class="lines">@@ -280,44 +273,48 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::allowsScrolling(
-    /* [retval][out] */ BOOL *flag)
</del><ins>+HRESULT WebFrame::allowsScrolling(_Out_ BOOL* flag)
</ins><span class="cx"> {
</span><del>-    if (flag)
-        if (Frame* frame = core(this))
-            if (FrameView* view = frame-&gt;view())
-                *flag = view-&gt;canHaveScrollbars();
</del><ins>+    if (!flag)
+        return E_POINTER;
</ins><span class="cx"> 
</span><ins>+    *flag = FALSE;
+
+    if (Frame* frame = core(this)) {
+        if (FrameView* view = frame-&gt;view())
+            *flag = view-&gt;canHaveScrollbars();
+    }
+
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::setIsDisconnected(
-    /* [in] */ BOOL flag)
</del><ins>+HRESULT WebFrame::setIsDisconnected(BOOL flag)
</ins><span class="cx"> {
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::setExcludeFromTextSearch(
-    /* [in] */ BOOL flag)
</del><ins>+HRESULT WebFrame::setExcludeFromTextSearch(BOOL flag)
</ins><span class="cx"> {
</span><del>-    return E_FAIL;
</del><ins>+    ASSERT_NOT_REACHED();
+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebFrame::reloadFromOrigin()
</span><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     coreFrame-&gt;loader().reload(true);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::paintDocumentRectToContext(RECT rect, HDC deviceContext)
</del><ins>+HRESULT WebFrame::paintDocumentRectToContext(RECT rect, _In_ HDC deviceContext)
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -344,11 +341,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::paintScrollViewRectToContextAtPoint(RECT rect, POINT pt, HDC deviceContext)
</del><ins>+HRESULT WebFrame::paintScrollViewRectToContextAtPoint(RECT rect, POINT pt, _In_ HDC deviceContext)
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -372,15 +369,19 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebFrame::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, __uuidof(WebFrame)))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IUnknown))
</span><del>-        *ppvObject = static_cast&lt;IWebFrame*&gt;(this);
</del><ins>+        *ppvObject = static_cast&lt;IWebFrame2*&gt;(this);
</ins><span class="cx">     else if (IsEqualGUID(riid, IID_IWebFrame))
</span><del>-        *ppvObject = static_cast&lt;IWebFrame*&gt;(this);
</del><ins>+        *ppvObject = static_cast&lt;IWebFrame2*&gt;(this);
+    else if (IsEqualGUID(riid, IID_IWebFrame2))
+        *ppvObject = static_cast&lt;IWebFrame2*&gt;(this);
</ins><span class="cx">     else if (IsEqualGUID(riid, IID_IWebFramePrivate))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebFramePrivate*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebDocumentText))
</span><span class="lines">@@ -392,12 +393,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebFrame::AddRef(void)
</del><ins>+ULONG WebFrame::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebFrame::Release(void)
</del><ins>+ULONG WebFrame::Release(void)
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -408,28 +409,28 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebFrame -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::name( 
-    /* [retval][out] */ BSTR* frameName)
</del><ins>+HRESULT WebFrame::name(_Deref_opt_out_ BSTR* frameName)
</ins><span class="cx"> {
</span><span class="cx">     if (!frameName) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *frameName = 0;
</del><ins>+    *frameName = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     *frameName = BString(coreFrame-&gt;tree().uniqueName()).release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::webView( 
-    /* [retval][out] */ IWebView** view)
</del><ins>+HRESULT WebFrame::webView(_COM_Outptr_opt_ IWebView** view)
</ins><span class="cx"> {
</span><del>-    *view = 0;
</del><ins>+    if (!view)
+        return E_POINTER;
+    *view = nullptr;
</ins><span class="cx">     if (!d-&gt;webView)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     *view = d-&gt;webView;
</span><span class="lines">@@ -437,58 +438,64 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::frameView(
-    /* [retval][out] */ IWebFrameView** /*view*/)
</del><ins>+HRESULT WebFrame::frameView(_COM_Outptr_opt_ IWebFrameView** view)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!view)
+        return E_POINTER;
+    *view = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::DOMDocument( 
-    /* [retval][out] */ IDOMDocument** result)
</del><ins>+HRESULT WebFrame::DOMDocument(_COM_Outptr_opt_ IDOMDocument** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><del>-    if (Frame* coreFrame = core(this))
-        if (Document* document = coreFrame-&gt;document())
-            *result = DOMDocument::createInstance(document);
</del><ins>+    Frame* coreFrame = core(this);
+    if (!coreFrame)
+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><ins>+    if (Document* document = coreFrame-&gt;document())
+        *result = DOMDocument::createInstance(document);
+
</ins><span class="cx">     return *result ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::DOMWindow(/* [retval][out] */ IDOMWindow** window)
</del><ins>+HRESULT WebFrame::DOMWindow(_COM_Outptr_opt_ IDOMWindow** window)
</ins><span class="cx"> {
</span><span class="cx">     if (!window) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *window = 0;
</del><ins>+    *window = nullptr;
</ins><span class="cx"> 
</span><del>-    if (Frame* coreFrame = core(this)) {
-        if (WebCore::DOMWindow* coreWindow = coreFrame-&gt;document()-&gt;domWindow())
-            *window = ::DOMWindow::createInstance(coreWindow);
-    }
</del><ins>+    Frame* coreFrame = core(this);
+    if (!coreFrame)
+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><ins>+    if (WebCore::DOMWindow* coreWindow = coreFrame-&gt;document()-&gt;domWindow())
+        *window = ::DOMWindow::createInstance(coreWindow);
+
</ins><span class="cx">     return *window ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::frameElement( 
-    /* [retval][out] */ IDOMHTMLElement** frameElement)
</del><ins>+HRESULT WebFrame::frameElement(_COM_Outptr_opt_ IDOMHTMLElement** frameElement)
</ins><span class="cx"> {
</span><span class="cx">     if (!frameElement)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *frameElement = 0;
</del><ins>+    *frameElement = nullptr;
+
</ins><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;IDOMElement&gt; domElement(AdoptCOM, DOMElement::createInstance(coreFrame-&gt;ownerElement()));
</span><span class="cx">     COMPtr&lt;IDOMHTMLElement&gt; htmlElement(Query, domElement);
</span><span class="lines">@@ -497,29 +504,30 @@
</span><span class="cx">     return htmlElement.copyRefTo(frameElement);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::currentForm( 
-        /* [retval][out] */ IDOMElement **currentForm)
</del><ins>+HRESULT WebFrame::currentForm(_COM_Outptr_opt_ IDOMElement** currentForm)
</ins><span class="cx"> {
</span><span class="cx">     if (!currentForm) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *currentForm = 0;
</del><ins>+    *currentForm = nullptr;
</ins><span class="cx"> 
</span><del>-    if (Frame* coreFrame = core(this)) {
-        if (HTMLFormElement* formElement = coreFrame-&gt;selection().currentForm())
-            *currentForm = DOMElement::createInstance(formElement);
-    }
</del><ins>+    Frame* coreFrame = core(this);
+    if (!coreFrame)
+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><ins>+    if (HTMLFormElement* formElement = coreFrame-&gt;selection().currentForm())
+        *currentForm = DOMElement::createInstance(formElement);
+
</ins><span class="cx">     return *currentForm ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-JSGlobalContextRef STDMETHODCALLTYPE WebFrame::globalContext()
</del><ins>+JSGlobalContextRef WebFrame::globalContext()
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx"> 
</span><span class="cx">     return toGlobalRef(coreFrame-&gt;script().globalObject(mainThreadNormalWorld())-&gt;globalExec());
</span><span class="cx"> }
</span><span class="lines">@@ -537,9 +545,11 @@
</span><span class="cx">     return toGlobalRef(coreFrame-&gt;script().globalObject(world-&gt;world())-&gt;globalExec());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::loadRequest( 
-    /* [in] */ IWebURLRequest* request)
</del><ins>+HRESULT WebFrame::loadRequest(_In_opt_ IWebURLRequest* request)
</ins><span class="cx"> {
</span><ins>+    if (!request)
+        return S_OK;
+
</ins><span class="cx">     COMPtr&lt;WebMutableURLRequest&gt; requestImpl;
</span><span class="cx"> 
</span><span class="cx">     HRESULT hr = request-&gt;QueryInterface(&amp;requestImpl);
</span><span class="lines">@@ -548,7 +558,7 @@
</span><span class="cx">  
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     coreFrame-&gt;loader().load(FrameLoadRequest(coreFrame, requestImpl-&gt;resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow));
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -578,12 +588,7 @@
</span><span class="cx">         coreFrame-&gt;loader().load(FrameLoadRequest(coreFrame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow, substituteData));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
-HRESULT STDMETHODCALLTYPE WebFrame::loadData( 
-    /* [in] */ IStream* data,
-    /* [in] */ BSTR mimeType,
-    /* [in] */ BSTR textEncodingName,
-    /* [in] */ BSTR url)
</del><ins>+HRESULT WebFrame::loadData(_In_opt_ IStream* data, _In_ BSTR mimeType, _In_ BSTR textEncodingName, _In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;SharedBuffer&gt; sharedBuffer = SharedBuffer::create();
</span><span class="cx"> 
</span><span class="lines">@@ -599,70 +604,61 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    loadData(sharedBuffer, mimeType, textEncodingName, url, 0);
</del><ins>+    loadData(sharedBuffer, mimeType, textEncodingName, url, nullptr);
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::loadPlainTextString(
-    /* [in] */ BSTR string,
-    /* [in] */ BSTR url)
</del><ins>+HRESULT WebFrame::loadPlainTextString(_In_ BSTR plainText, _In_ BSTR url)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;SharedBuffer&gt; sharedBuffer = SharedBuffer::create(reinterpret_cast&lt;char*&gt;(string), sizeof(UChar) * SysStringLen(string));
</del><ins>+    RefPtr&lt;SharedBuffer&gt; sharedBuffer = SharedBuffer::create(reinterpret_cast&lt;char*&gt;(plainText), sizeof(UChar) * SysStringLen(plainText));
</ins><span class="cx">     BString plainTextMimeType(TEXT(&quot;text/plain&quot;), 10);
</span><span class="cx">     BString utf16Encoding(TEXT(&quot;utf-16&quot;), 6);
</span><del>-    loadData(sharedBuffer.release(), plainTextMimeType, utf16Encoding, url, 0);
</del><ins>+    loadData(sharedBuffer.release(), plainTextMimeType, utf16Encoding, url, nullptr);
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrame::loadHTMLString(BSTR string, BSTR baseURL, BSTR unreachableURL)
</del><ins>+void WebFrame::loadHTMLString(_In_ BSTR htmlString, _In_ BSTR baseURL, _In_ BSTR unreachableURL)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;SharedBuffer&gt; sharedBuffer = SharedBuffer::create(reinterpret_cast&lt;char*&gt;(string), sizeof(UChar) * SysStringLen(string));
</del><ins>+    RefPtr&lt;SharedBuffer&gt; sharedBuffer = SharedBuffer::create(reinterpret_cast&lt;char*&gt;(htmlString), sizeof(UChar) * SysStringLen(htmlString));
</ins><span class="cx">     BString utf16Encoding(TEXT(&quot;utf-16&quot;), 6);
</span><span class="cx">     loadData(sharedBuffer.release(), 0, utf16Encoding, baseURL, unreachableURL);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::loadHTMLString( 
-    /* [in] */ BSTR string,
-    /* [in] */ BSTR baseURL)
</del><ins>+HRESULT WebFrame::loadHTMLString(_In_ BSTR htmlString, _In_ BSTR baseURL)
</ins><span class="cx"> {
</span><del>-    loadHTMLString(string, baseURL, 0);
</del><ins>+    loadHTMLString(htmlString, baseURL, nullptr);
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::loadAlternateHTMLString( 
-    /* [in] */ BSTR str,
-    /* [in] */ BSTR baseURL,
-    /* [in] */ BSTR unreachableURL)
</del><ins>+HRESULT WebFrame::loadAlternateHTMLString(_In_ BSTR str, _In_ BSTR baseURL, _In_ BSTR unreachableURL)
</ins><span class="cx"> {
</span><span class="cx">     loadHTMLString(str, baseURL, unreachableURL);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::loadArchive( 
-    /* [in] */ IWebArchive* /*archive*/)
</del><ins>+HRESULT WebFrame::loadArchive(_In_opt_ IWebArchive* /*archive*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline WebDataSource *getWebDataSource(DocumentLoader* loader)
</del><ins>+static inline WebDataSource* getWebDataSource(DocumentLoader* loader)
</ins><span class="cx"> {
</span><del>-    return loader ? static_cast&lt;WebDocumentLoader*&gt;(loader)-&gt;dataSource() : 0;
</del><ins>+    return loader ? static_cast&lt;WebDocumentLoader*&gt;(loader)-&gt;dataSource() : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::dataSource( 
-    /* [retval][out] */ IWebDataSource** source)
</del><ins>+HRESULT WebFrame::dataSource(_COM_Outptr_opt_ IWebDataSource** source)
</ins><span class="cx"> {
</span><span class="cx">     if (!source) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *source = 0;
</del><ins>+    *source = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     WebDataSource* webDataSource = getWebDataSource(coreFrame-&gt;loader().documentLoader());
</span><span class="cx"> 
</span><span class="lines">@@ -674,19 +670,18 @@
</span><span class="cx">     return *source ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::provisionalDataSource( 
-    /* [retval][out] */ IWebDataSource** source)
</del><ins>+HRESULT WebFrame::provisionalDataSource(_COM_Outptr_opt_ IWebDataSource** source)
</ins><span class="cx"> {
</span><span class="cx">     if (!source) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *source = 0;
</del><ins>+    *source = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     WebDataSource* webDataSource = getWebDataSource(coreFrame-&gt;loader().provisionalDocumentLoader());
</span><span class="cx"> 
</span><span class="lines">@@ -707,37 +702,35 @@
</span><span class="cx">     return coreFrame-&gt;document()-&gt;url();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::stopLoading( void)
</del><ins>+HRESULT WebFrame::stopLoading()
</ins><span class="cx"> {
</span><span class="cx">     if (Frame* coreFrame = core(this))
</span><span class="cx">         coreFrame-&gt;loader().stopAllLoaders();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::reload( void)
</del><ins>+HRESULT WebFrame::reload()
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     coreFrame-&gt;loader().reload();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::findFrameNamed( 
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IWebFrame** frame)
</del><ins>+HRESULT WebFrame::findFrameNamed(_In_ BSTR name, _COM_Outptr_opt_ IWebFrame** frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *frame = 0;
</del><ins>+    *frame = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     Frame* foundFrame = coreFrame-&gt;tree().find(AtomicString(name, SysStringLen(name)));
</span><span class="cx">     if (!foundFrame)
</span><span class="lines">@@ -750,11 +743,14 @@
</span><span class="cx">     return foundWebFrame-&gt;QueryInterface(IID_IWebFrame, (void**)frame);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::parentFrame( 
-    /* [retval][out] */ IWebFrame** frame)
</del><ins>+HRESULT WebFrame::parentFrame(_COM_Outptr_opt_ IWebFrame** frame)
</ins><span class="cx"> {
</span><ins>+    if (!frame)
+        return E_POINTER;
+
+    *frame = nullptr;
+
</ins><span class="cx">     HRESULT hr = S_OK;
</span><del>-    *frame = 0;
</del><span class="cx">     if (Frame* coreFrame = core(this))
</span><span class="cx">         if (WebFrame* webFrame = kit(coreFrame-&gt;tree().parent()))
</span><span class="cx">             hr = webFrame-&gt;QueryInterface(IID_IWebFrame, (void**) frame);
</span><span class="lines">@@ -765,11 +761,14 @@
</span><span class="cx"> class EnumChildFrames : public IEnumVARIANT
</span><span class="cx"> {
</span><span class="cx"> public:
</span><del>-    EnumChildFrames(Frame* f) : m_refCount(1), m_frame(f), m_curChild(f ? f-&gt;tree().firstChild() : 0) { }
</del><ins>+    EnumChildFrames(Frame* f)
+        : m_frame(f), m_curChild(f ? f-&gt;tree().firstChild() : nullptr)
+    {
+    }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx">     {
</span><del>-        *ppvObject = 0;
</del><ins>+        *ppvObject = nullptr;
</ins><span class="cx">         if (IsEqualGUID(riid, IID_IUnknown) || IsEqualGUID(riid, IID_IEnumVARIANT))
</span><span class="cx">             *ppvObject = this;
</span><span class="cx">         else
</span><span class="lines">@@ -779,7 +778,7 @@
</span><span class="cx">         return S_OK;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual ULONG STDMETHODCALLTYPE AddRef(void)
</del><ins>+    virtual ULONG STDMETHODCALLTYPE AddRef()
</ins><span class="cx">     {
</span><span class="cx">         return ++m_refCount;
</span><span class="cx">     }
</span><span class="lines">@@ -842,13 +841,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 1 };
</ins><span class="cx">     Frame* m_frame;
</span><span class="cx">     Frame* m_curChild;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::childFrames( 
-    /* [retval][out] */ IEnumVARIANT **enumFrames)
</del><ins>+HRESULT WebFrame::childFrames(_COM_Outptr_opt_ IEnumVARIANT** enumFrames)
</ins><span class="cx"> {
</span><span class="cx">     if (!enumFrames)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -859,44 +857,36 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebFramePrivate ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::renderTreeAsExternalRepresentation(BOOL forPrinting, BSTR *result)
</del><ins>+HRESULT WebFrame::renderTreeAsExternalRepresentation(BOOL forPrinting, _Deref_opt_out_ BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     *result = BString(externalRepresentation(coreFrame, forPrinting ? RenderAsTextPrintingMode : RenderAsTextBehaviorNormal)).release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::pageNumberForElementById(
-    /* [in] */ BSTR id,
-    /* [in] */ float pageWidthInPixels,
-    /* [in] */ float pageHeightInPixels,
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT WebFrame::pageNumberForElementById(_In_ BSTR id, float pageWidthInPixels, float pageHeightInPixels, _Out_ int* pageNumber)
</ins><span class="cx"> {
</span><span class="cx">     // TODO: Please remove this function if not needed as this is LTC specific function
</span><span class="cx">     // and has been moved to Internals.
</span><del>-    notImplemented();
-    return E_FAIL;
</del><ins>+    ASSERT_NOT_REACHED();
+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::numberOfPages(
-    /* [in] */ float pageWidthInPixels,
-    /* [in] */ float pageHeightInPixels,
-    /* [retval][out] */ int* result)
</del><ins>+HRESULT WebFrame::numberOfPages(float pageWidthInPixels, float pageHeightInPixels, _Out_ int* pageCount)
</ins><span class="cx"> {
</span><span class="cx">     // TODO: Please remove this function if not needed as this is LTC specific function
</span><span class="cx">     // and has been moved to Internals.
</span><del>-    notImplemented();
-    return E_FAIL;
</del><ins>+    ASSERT_NOT_REACHED();
+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::scrollOffset(
-        /* [retval][out] */ SIZE* offset)
</del><ins>+HRESULT WebFrame::scrollOffset(_Out_ SIZE* offset)
</ins><span class="cx"> {
</span><span class="cx">     if (!offset) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -905,7 +895,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -915,11 +905,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::layout()
</del><ins>+HRESULT WebFrame::layout()
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -929,26 +919,24 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::firstLayoutDone(
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebFrame::firstLayoutDone(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = FALSE;
</ins><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     *result = coreFrame-&gt;loader().stateMachine().firstLayoutDone();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::pendingFrameUnloadEventCount( 
-    /* [retval][out] */ UINT* result)
</del><ins>+HRESULT WebFrame::pendingFrameUnloadEventCount(_Out_ UINT* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -959,38 +947,35 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     *result = coreFrame-&gt;document()-&gt;domWindow()-&gt;pendingUnloadEventListeners();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::hasSpellingMarker(
-        /* [in] */ UINT from,
-        /* [in] */ UINT length,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebFrame::hasSpellingMarker(UINT from, UINT length, BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx">     *result = coreFrame-&gt;editor().selectionStartHasMarkerFor(DocumentMarker::Spelling, from, length);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::clearOpener()
</del><ins>+HRESULT WebFrame::clearOpener()
</ins><span class="cx"> {
</span><span class="cx">     HRESULT hr = S_OK;
</span><span class="cx">     if (Frame* coreFrame = core(this))
</span><del>-        coreFrame-&gt;loader().setOpener(0);
</del><ins>+        coreFrame-&gt;loader().setOpener(nullptr);
</ins><span class="cx"> 
</span><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::setTextDirection(BSTR direction)
</del><ins>+HRESULT WebFrame::setTextDirection(_In_ BSTR direction)
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     String directionString(direction, SysStringLen(direction));
</span><span class="cx">     if (directionString == &quot;auto&quot;)
</span><span class="lines">@@ -1004,21 +989,21 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebDocumentText -----------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::supportsTextEncoding( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebFrame::supportsTextEncoding(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     *result = FALSE;
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::selectedString( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebFrame::selectedString(_Deref_opt_out_ BSTR* result)
</ins><span class="cx"> {
</span><del>-    *result = 0;
</del><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     String text = coreFrame-&gt;displayStringModifiedByEncoding(coreFrame-&gt;editor().selectedText());
</span><span class="cx"> 
</span><span class="lines">@@ -1026,11 +1011,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::selectAll()
</del><ins>+HRESULT WebFrame::selectAll()
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     if (!coreFrame-&gt;editor().command(&quot;SelectAll&quot;).execute())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1038,7 +1023,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::deselectAll()
</del><ins>+HRESULT WebFrame::deselectAll()
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="lines">@@ -1135,7 +1120,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::elementDoesAutoComplete(IDOMElement *element, BOOL *result)
</del><ins>+HRESULT WebFrame::elementDoesAutoComplete(_In_opt_ IDOMElement *element, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     *result = false;
</span><span class="cx">     if (!element)
</span><span class="lines">@@ -1150,27 +1135,27 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::resumeAnimations()
</del><ins>+HRESULT WebFrame::resumeAnimations()
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     frame-&gt;animation().resumeAnimations();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::suspendAnimations()
</del><ins>+HRESULT WebFrame::suspendAnimations()
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     frame-&gt;animation().suspendAnimations();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::pauseAnimation(BSTR animationName, IDOMNode* node, double secondsFromNow, BOOL* animationWasRunning)
</del><ins>+HRESULT WebFrame::pauseAnimation(_In_ BSTR animationName, _In_opt_ IDOMNode* node, double secondsFromNow, _Out_ BOOL* animationWasRunning)
</ins><span class="cx"> {
</span><span class="cx">     if (!node || !animationWasRunning)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1179,7 +1164,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;DOMNode&gt; domNode(Query, node);
</span><span class="cx">     if (!domNode)
</span><span class="lines">@@ -1189,7 +1174,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::pauseTransition(BSTR propertyName, IDOMNode* node, double secondsFromNow, BOOL* transitionWasRunning)
</del><ins>+HRESULT WebFrame::pauseTransition(_In_ BSTR propertyName, _In_opt_ IDOMNode* node, double secondsFromNow, _Out_ BOOL* transitionWasRunning)
</ins><span class="cx"> {
</span><span class="cx">     if (!node || !transitionWasRunning)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1198,7 +1183,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;DOMNode&gt; domNode(Query, node);
</span><span class="cx">     if (!domNode)
</span><span class="lines">@@ -1208,7 +1193,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::visibleContentRect(RECT* rect)
</del><ins>+HRESULT WebFrame::visibleContentRect(_Out_ RECT* rect)
</ins><span class="cx"> {
</span><span class="cx">     if (!rect)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1216,7 +1201,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = frame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -1226,7 +1211,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::numberOfActiveAnimations(UINT* number)
</del><ins>+HRESULT WebFrame::numberOfActiveAnimations(_Out_ UINT* number)
</ins><span class="cx"> {
</span><span class="cx">     if (!number)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1235,13 +1220,13 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     *number = frame-&gt;animation().numberOfActiveAnimations(frame-&gt;document());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::isDisplayingStandaloneImage(BOOL* result)
</del><ins>+HRESULT WebFrame::isDisplayingStandaloneImage(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1250,14 +1235,14 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     Document* document = frame-&gt;document();
</span><span class="cx">     *result = document &amp;&amp; document-&gt;isImageDocument();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebFrame::allowsFollowingLink(BSTR url, BOOL* result)
</del><ins>+HRESULT WebFrame::allowsFollowingLink(_In_ BSTR url, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1266,7 +1251,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     *result = frame-&gt;document()-&gt;securityOrigin()-&gt;canDisplay(MarshallingHelpers::BSTRToKURL(url));
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -1327,7 +1312,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     Vector&lt;String&gt; labelStrings(cLabels);
</span><span class="cx">     for (int i=0; i&lt;cLabels; i++)
</span><span class="lines">@@ -1367,7 +1352,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     Vector&lt;String&gt; labelStrings(cLabels);
</span><span class="cx">     for (int i=0; i&lt;cLabels; i++)
</span><span class="lines">@@ -1406,15 +1391,15 @@
</span><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::layerTreeAsText(BSTR* result)
</del><ins>+HRESULT WebFrame::layerTreeAsText(_Deref_out_opt_ BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* frame = core(this);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     String text = frame-&gt;layerTreeAsText();
</span><span class="cx">     *result = BString(text).release();
</span><span class="lines">@@ -1444,15 +1429,16 @@
</span><span class="cx">     coreFrame-&gt;setPrinting(printing, pageSize, originalPageSize, maximumShrinkRatio, adjustViewSize ? AdjustViewSize : DoNotAdjustViewSize);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::setInPrintingMode( 
-    /* [in] */ BOOL value,
-    /* [in] */ HDC printDC)
</del><ins>+HRESULT WebFrame::setInPrintingMode(BOOL value, _In_ HDC printDC)
</ins><span class="cx"> {
</span><span class="cx">     if (m_inPrintingMode == !!value)
</span><span class="cx">         return S_OK;
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><del>-    if (!coreFrame || !coreFrame-&gt;document())
</del><ins>+    if (!coreFrame)
+        return E_UNEXPECTED;
+
+    if (!coreFrame-&gt;document())
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     m_inPrintingMode = !!value;
</span><span class="lines">@@ -1549,9 +1535,7 @@
</span><span class="cx">     return m_pageRects;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::getPrintedPageCount( 
-    /* [in] */ HDC printDC,
-    /* [retval][out] */ UINT *pageCount)
</del><ins>+HRESULT WebFrame::getPrintedPageCount(_In_ HDC printDC, _Out_ UINT *pageCount)
</ins><span class="cx"> {
</span><span class="cx">     if (!pageCount || !printDC) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -1566,7 +1550,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><del>-    if (!coreFrame || !coreFrame-&gt;document())
</del><ins>+    if (!coreFrame)
+        return E_UNEXPECTED;
+
+    if (!coreFrame-&gt;document())
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     const Vector&lt;IntRect&gt;&amp; pages = computePageRects(printDC);
</span><span class="lines">@@ -1776,11 +1763,7 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::spoolPages( 
-    /* [in] */ HDC printDC,
-    /* [in] */ UINT startPage,
-    /* [in] */ UINT endPage,
-    /* [retval][out] */ void* ctx)
</del><ins>+HRESULT WebFrame::spoolPages(HDC printDC, UINT startPage, UINT endPage, void* ctx)
</ins><span class="cx"> {
</span><span class="cx"> #if USE(CG)
</span><span class="cx">     if (!printDC || !ctx) {
</span><span class="lines">@@ -1827,7 +1810,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><del>-    if (!coreFrame || !coreFrame-&gt;document())
</del><ins>+    if (!coreFrame)
+        return E_UNEXPECTED;
+
+    if (!coreFrame-&gt;document())
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     UINT pageCount = (UINT) m_pageRects.size();
</span><span class="lines">@@ -1867,27 +1853,34 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::isFrameSet( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebFrame::isFrameSet(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     *result = FALSE;
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><del>-    if (!coreFrame || !coreFrame-&gt;document())
</del><ins>+    if (!coreFrame)
+        return E_UNEXPECTED;
+
+    if (!coreFrame-&gt;document())
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     *result = coreFrame-&gt;document()-&gt;isFrameSet() ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::string( 
-    /* [retval][out] */ BSTR *result)
</del><ins>+HRESULT WebFrame::string(_Deref_opt_out_ BSTR* result)
</ins><span class="cx"> {
</span><del>-    *result = 0;
</del><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx"> 
</span><ins>+    *result = nullptr;
+
</ins><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Range&gt; allRange(rangeOfContents(*coreFrame-&gt;document()));
</span><span class="cx">     String allString = plainText(allRange.get());
</span><span class="lines">@@ -1895,8 +1888,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::size( 
-    /* [retval][out] */ SIZE *size)
</del><ins>+HRESULT WebFrame::size(_Out_ SIZE* size)
</ins><span class="cx"> {
</span><span class="cx">     if (!size)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1904,7 +1896,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1913,8 +1905,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::hasScrollBars( 
-    /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT WebFrame::hasScrollBars(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1922,7 +1913,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -1934,8 +1925,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::contentBounds( 
-    /* [retval][out] */ RECT *result)
</del><ins>+HRESULT WebFrame::contentBounds(_Out_ RECT* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1943,7 +1933,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -1954,8 +1944,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::frameBounds( 
-    /* [retval][out] */ RECT *result)
</del><ins>+HRESULT WebFrame::frameBounds(_Out_ RECT* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1963,7 +1952,7 @@
</span><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(this);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     FrameView* view = coreFrame-&gt;view();
</span><span class="cx">     if (!view)
</span><span class="lines">@@ -1975,9 +1964,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFrame::isDescendantOfFrame( 
-    /* [in] */ IWebFrame *ancestor,
-    /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT WebFrame::isDescendantOfFrame(_In_opt_ IWebFrame* ancestor, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -2102,7 +2089,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebFrame2
</span><del>-HRESULT WebFrame::isMainFrame(BOOL* value)
</del><ins>+HRESULT WebFrame::isMainFrame(_Out_ BOOL* value)
</ins><span class="cx"> {
</span><span class="cx">     if (!value)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebFrameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebFrame.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebFrame.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebFrame.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2011, 2013-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2011, 2013-2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &lt;WebCore/GraphicsContext.h&gt;
</span><span class="cx"> #include &lt;WebCore/ResourceHandleClient.h&gt;
</span><span class="cx"> #include &lt;WebCore/URL.h&gt;
</span><ins>+#include &lt;sal.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -85,207 +86,86 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     //IWebFrame
</span><del>-    virtual HRESULT STDMETHODCALLTYPE name( 
-        /* [retval][out] */ BSTR *frameName);
-    
-    virtual HRESULT STDMETHODCALLTYPE webView( 
-        /* [retval][out] */ IWebView **view);
-
-    virtual HRESULT STDMETHODCALLTYPE frameView(
-        /* [retval][out] */ IWebFrameView **view);
-
-    virtual HRESULT STDMETHODCALLTYPE DOMDocument( 
-        /* [retval][out] */ IDOMDocument** document);
-
-    virtual HRESULT STDMETHODCALLTYPE DOMWindow(/* [retval][out] */ IDOMWindow**);
-    
-    virtual HRESULT STDMETHODCALLTYPE frameElement( 
-        /* [retval][out] */ IDOMHTMLElement **frameElement);
-    
-    virtual HRESULT STDMETHODCALLTYPE loadRequest( 
-        /* [in] */ IWebURLRequest *request);
-    
-    virtual HRESULT STDMETHODCALLTYPE loadData( 
-        /* [in] */ IStream *data,
-        /* [in] */ BSTR mimeType,
-        /* [in] */ BSTR textEncodingName,
-        /* [in] */ BSTR url);
-    
-    virtual HRESULT STDMETHODCALLTYPE loadHTMLString( 
-        /* [in] */ BSTR string,
-        /* [in] */ BSTR baseURL);
-    
-    virtual HRESULT STDMETHODCALLTYPE loadAlternateHTMLString( 
-        /* [in] */ BSTR str,
-        /* [in] */ BSTR baseURL,
-        /* [in] */ BSTR unreachableURL);
-    
-    virtual HRESULT STDMETHODCALLTYPE loadArchive( 
-        /* [in] */ IWebArchive *archive);
-    
-    virtual HRESULT STDMETHODCALLTYPE dataSource( 
-        /* [retval][out] */ IWebDataSource **source);
-    
-    virtual HRESULT STDMETHODCALLTYPE provisionalDataSource( 
-        /* [retval][out] */ IWebDataSource **source);
-    
-    virtual HRESULT STDMETHODCALLTYPE stopLoading( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE reload( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE findFrameNamed( 
-        /* [in] */ BSTR name,
-        /* [retval][out] */ IWebFrame **frame);
-    
-    virtual HRESULT STDMETHODCALLTYPE parentFrame( 
-        /* [retval][out] */ IWebFrame **frame);
-    
-    virtual HRESULT STDMETHODCALLTYPE childFrames( 
-        /* [retval][out] */ IEnumVARIANT **enumFrames);
-
-    virtual HRESULT STDMETHODCALLTYPE currentForm( 
-        /* [retval][out] */ IDOMElement **formElement);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE name(_Deref_opt_out_ BSTR* frameName);
+    virtual HRESULT STDMETHODCALLTYPE webView(_COM_Outptr_opt_ IWebView**);
+    virtual HRESULT STDMETHODCALLTYPE frameView(_COM_Outptr_opt_ IWebFrameView**);
+    virtual HRESULT STDMETHODCALLTYPE DOMDocument(_COM_Outptr_opt_ IDOMDocument**);
+    virtual HRESULT STDMETHODCALLTYPE DOMWindow(_COM_Outptr_opt_ IDOMWindow**);
+    virtual HRESULT STDMETHODCALLTYPE frameElement(_COM_Outptr_opt_ IDOMHTMLElement** frameElement);
+    virtual HRESULT STDMETHODCALLTYPE loadRequest(_In_opt_ IWebURLRequest*);
+    virtual HRESULT STDMETHODCALLTYPE loadData(_In_opt_ IStream* data, _In_ BSTR mimeType, _In_ BSTR textEncodingName, _In_ BSTR url);
+    virtual HRESULT STDMETHODCALLTYPE loadHTMLString(_In_ BSTR, _In_ BSTR baseURL);
+    virtual HRESULT STDMETHODCALLTYPE loadAlternateHTMLString(_In_ BSTR, _In_ BSTR baseURL, _In_ BSTR unreachableURL);
+    virtual HRESULT STDMETHODCALLTYPE loadArchive(_In_opt_ IWebArchive*);
+    virtual HRESULT STDMETHODCALLTYPE dataSource(_COM_Outptr_opt_ IWebDataSource**);
+    virtual HRESULT STDMETHODCALLTYPE provisionalDataSource(_COM_Outptr_opt_ IWebDataSource**);
+    virtual HRESULT STDMETHODCALLTYPE stopLoading();
+    virtual HRESULT STDMETHODCALLTYPE reload();
+    virtual HRESULT STDMETHODCALLTYPE findFrameNamed(_In_ BSTR name, _COM_Outptr_opt_ IWebFrame**);
+    virtual HRESULT STDMETHODCALLTYPE parentFrame(_COM_Outptr_opt_ IWebFrame**);
+    virtual HRESULT STDMETHODCALLTYPE childFrames(_COM_Outptr_opt_ IEnumVARIANT** enumFrames);
+    virtual HRESULT STDMETHODCALLTYPE currentForm(_COM_Outptr_opt_ IDOMElement**);
</ins><span class="cx">     virtual /* [local] */ JSGlobalContextRef STDMETHODCALLTYPE globalContext();
</span><span class="cx"> 
</span><span class="cx">     // IWebFramePrivate
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused1() { return E_NOTIMPL; }
</span><del>-    virtual HRESULT STDMETHODCALLTYPE renderTreeAsExternalRepresentation(BOOL forPrinting, BSTR *result);
-
-    virtual HRESULT STDMETHODCALLTYPE pageNumberForElementById(
-        /* [in] */ BSTR id,
-        /* [in] */ float pageWidthInPixels,
-        /* [in] */ float pageHeightInPixels,
-        /* [retval][out] */ int* result);
-
-    virtual HRESULT STDMETHODCALLTYPE numberOfPages(
-        /* [in] */ float pageWidthInPixels,
-        /* [in] */ float pageHeightInPixels,
-        /* [retval][out] */ int* result);
-
-    virtual HRESULT STDMETHODCALLTYPE scrollOffset(
-        /* [retval][out] */ SIZE* offset);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE renderTreeAsExternalRepresentation(BOOL forPrinting, _Deref_opt_out_ BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE pageNumberForElementById(_In_ BSTR id, float pageWidthInPixels, float pageHeightInPixels, _Out_ int* pageNumber);
+    virtual HRESULT STDMETHODCALLTYPE numberOfPages(float pageWidthInPixels, float pageHeightInPixels, _Out_ int* pageCount);
+    virtual HRESULT STDMETHODCALLTYPE scrollOffset(_Out_ SIZE*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE layout();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE firstLayoutDone(
-        /* [retval][out] */ BOOL* result);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE firstLayoutDone(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused2() { return E_NOTIMPL; }
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE pendingFrameUnloadEventCount( 
-        /* [retval][out] */ UINT* result);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE pendingFrameUnloadEventCount(_Out_ UINT*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused3() { return E_NOTIMPL; }
</span><del>-    
-    virtual HRESULT STDMETHODCALLTYPE setInPrintingMode( 
-        /* [in] */ BOOL value,
-        /* [in] */ HDC printDC);
-        
-    virtual HRESULT STDMETHODCALLTYPE getPrintedPageCount( 
-        /* [in] */ HDC printDC,
-        /* [retval][out] */ UINT *pageCount);
-    
-    virtual HRESULT STDMETHODCALLTYPE spoolPages( 
-        /* [in] */ HDC printDC,
-        /* [in] */ UINT startPage,
-        /* [in] */ UINT endPage,
-        /* [retval][out] */ void* ctx);
-
-    virtual HRESULT STDMETHODCALLTYPE isFrameSet( 
-        /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE string( 
-        /* [retval][out] */ BSTR* result);
-
-    virtual HRESULT STDMETHODCALLTYPE size( 
-        /* [retval][out] */ SIZE *size);
-
-    virtual HRESULT STDMETHODCALLTYPE hasScrollBars( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE contentBounds( 
-        /* [retval][out] */ RECT *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE frameBounds( 
-        /* [retval][out] */ RECT *result);
-
-    virtual HRESULT STDMETHODCALLTYPE isDescendantOfFrame( 
-        /* [in] */ IWebFrame *ancestor,
-        /* [retval][out] */ BOOL *result);
-
-    virtual HRESULT STDMETHODCALLTYPE setAllowsScrolling(
-        /* [in] */ BOOL flag);
-
-    virtual HRESULT STDMETHODCALLTYPE allowsScrolling(
-        /* [retval][out] */ BOOL *flag);
-
-    virtual HRESULT STDMETHODCALLTYPE setIsDisconnected(
-        /* [in] */ BOOL flag);
-
-    virtual HRESULT STDMETHODCALLTYPE setExcludeFromTextSearch(
-        /* [in] */ BOOL flag);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInPrintingMode(BOOL value, _In_ HDC printDC);
+    virtual HRESULT STDMETHODCALLTYPE getPrintedPageCount(_In_ HDC printDC, _Out_ UINT* pageCount);
+    virtual HRESULT STDMETHODCALLTYPE spoolPages(HDC printDC, UINT startPage, UINT endPage, void* ctx);
+    virtual HRESULT STDMETHODCALLTYPE isFrameSet(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE string(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE size(_Out_ SIZE*);
+    virtual HRESULT STDMETHODCALLTYPE hasScrollBars(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE contentBounds(_Out_ RECT*);
+    virtual HRESULT STDMETHODCALLTYPE frameBounds(_Out_ RECT*);
+    virtual HRESULT STDMETHODCALLTYPE isDescendantOfFrame(_In_opt_ IWebFrame* ancestor, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE setAllowsScrolling(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE allowsScrolling(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setIsDisconnected(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setExcludeFromTextSearch(BOOL);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE reloadFromOrigin();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE paintDocumentRectToContext(/* [in] */ RECT rect, /* [in] */ HDC deviceContext);
-
-    virtual HRESULT STDMETHODCALLTYPE paintScrollViewRectToContextAtPoint(/* [in] */ RECT rect, /* [in] */ POINT pt, /* [in] */ HDC deviceContext);
-
-    virtual HRESULT STDMETHODCALLTYPE elementDoesAutoComplete(
-        /* [in] */ IDOMElement* element, 
-        /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE pauseAnimation(BSTR animationName, IDOMNode*, double secondsFromNow, BOOL* animationWasRunning);
-    virtual HRESULT STDMETHODCALLTYPE pauseTransition(BSTR propertyName, IDOMNode*, double secondsFromNow, BOOL* transitionWasRunning);
-    virtual HRESULT STDMETHODCALLTYPE numberOfActiveAnimations(UINT*);
-    virtual HRESULT STDMETHODCALLTYPE loadPlainTextString(BSTR string, BSTR url);
-
-    virtual HRESULT STDMETHODCALLTYPE isDisplayingStandaloneImage(BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE allowsFollowingLink(
-        /* [in] */ BSTR url,
-        /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE stringByEvaluatingJavaScriptInScriptWorld(IWebScriptWorld*, JSObjectRef globalObjectRef, BSTR script, BSTR* evaluationResult);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE paintDocumentRectToContext(RECT, _In_ HDC);
+    virtual HRESULT STDMETHODCALLTYPE paintScrollViewRectToContextAtPoint(RECT, POINT, _In_ HDC);
+    virtual HRESULT STDMETHODCALLTYPE elementDoesAutoComplete(_In_opt_ IDOMElement*, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE pauseAnimation(_In_ BSTR animationName, _In_opt_ IDOMNode*, double secondsFromNow, _Out_ BOOL* animationWasRunning);
+    virtual HRESULT STDMETHODCALLTYPE pauseTransition(_In_ BSTR propertyName, _In_opt_ IDOMNode*, double secondsFromNow, _Out_ BOOL* transitionWasRunning);
+    virtual HRESULT STDMETHODCALLTYPE numberOfActiveAnimations(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE loadPlainTextString(_In_ BSTR, _In_ BSTR url);
+    virtual HRESULT STDMETHODCALLTYPE isDisplayingStandaloneImage(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE allowsFollowingLink(_In_ BSTR, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE stringByEvaluatingJavaScriptInScriptWorld(IWebScriptWorld*, JSObjectRef, BSTR script, BSTR* evaluationResult);
</ins><span class="cx">     virtual JSGlobalContextRef STDMETHODCALLTYPE globalContextForScriptWorld(IWebScriptWorld*);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE visibleContentRect(RECT*);
-
-    virtual HRESULT STDMETHODCALLTYPE layerTreeAsText(BSTR*);
-
-    virtual HRESULT STDMETHODCALLTYPE hasSpellingMarker(
-        /* [in] */ UINT from,
-        /* [in] */ UINT length,
-        /* [retval][out] */ BOOL *result);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE visibleContentRect(_Out_ RECT*);
+    virtual HRESULT STDMETHODCALLTYPE layerTreeAsText(_Deref_out_opt_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE hasSpellingMarker(UINT from, UINT length, BOOL* result);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE clearOpener();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE setTextDirection(BSTR);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTextDirection(_In_ BSTR);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused4() { return E_NOTIMPL; }
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE resumeAnimations();
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE suspendAnimations();
</span><span class="cx"> 
</span><span class="cx">     // IWebDocumentText
</span><del>-    virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding( 
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectedString( 
-        /* [retval][out] */ BSTR* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectAll();
-    
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE selectedString(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE selectAll();    
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE deselectAll();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isMainFrame(BOOL*);
</del><ins>+    // IWebFrame2:
+    virtual HRESULT STDMETHODCALLTYPE isMainFrame(_Out_ BOOL*);
</ins><span class="cx">     
</span><span class="cx">     // FrameLoaderClient
</span><span class="cx">     virtual void frameLoaderDestroyed();
</span><span class="lines">@@ -319,7 +199,7 @@
</span><span class="cx">     COMPtr&lt;IAccessible&gt; accessible() const;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    void loadHTMLString(BSTR string, BSTR baseURL, BSTR unreachableURL);
</del><ins>+    void loadHTMLString(_In_ BSTR string, _In_ BSTR baseURL, _In_ BSTR unreachableURL);
</ins><span class="cx">     void loadData(PassRefPtr&lt;WebCore::SharedBuffer&gt;, BSTR mimeType, BSTR textEncodingName, BSTR baseURL, BSTR failingURL);
</span><span class="cx">     const Vector&lt;WebCore::IntRect&gt;&amp; computePageRects(HDC printDC);
</span><span class="cx">     void setPrinting(bool printing, const WebCore::FloatSize&amp; pageSize, const WebCore::FloatSize&amp; originalPageSize, float maximumShrinkRatio, WebCore::AdjustViewSizeOrNot);
</span><span class="lines">@@ -330,14 +210,15 @@
</span><span class="cx">     void drawFooter(PlatformGraphicsContext* pctx, IWebUIDelegate*, const WebCore::IntRect&amp; pageRect, UINT page, UINT pageCount, float headerHeight, float footerHeight);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG               m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     class WebFramePrivate;
</span><del>-    WebFramePrivate*    d;
-    bool                m_quickRedirectComing;
-    WebCore::URL       m_originalRequestURL;
-    bool                m_inPrintingMode;
</del><ins>+    WebFramePrivate* d;
+    bool m_quickRedirectComing { false };
+    WebCore::URL m_originalRequestURL;
+    bool m_inPrintingMode { false };
+
</ins><span class="cx">     Vector&lt;WebCore::IntRect&gt; m_pageRects;
</span><del>-    int m_pageHeight;   // height of the page adjusted by margins
</del><ins>+    int m_pageHeight { 0 }; // height of the page adjusted by margins
</ins><span class="cx">     mutable COMPtr&lt;AccessibleDocument&gt; m_accessible;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebFramePolicyListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebFramePolicyListener.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebFramePolicyListener.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebFramePolicyListener.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2013 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2013, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -36,8 +36,7 @@
</span><span class="cx"> // WebFramePolicyListener ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebFramePolicyListener::WebFramePolicyListener(PassRefPtr&lt;Frame&gt; frame)
</span><del>-    : m_refCount(0)
-    , m_frame(frame)
</del><ins>+    : m_frame(frame)
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebFramePolicyListener&quot;);
</span><span class="lines">@@ -58,9 +57,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebFramePolicyListener::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebPolicyDecisionListener*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebPolicyDecisionListener))
</span><span class="lines">@@ -74,12 +75,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebFramePolicyListener::AddRef(void)
</del><ins>+ULONG WebFramePolicyListener::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebFramePolicyListener::Release(void)
</del><ins>+ULONG WebFramePolicyListener::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -90,19 +91,19 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebPolicyDecisionListener ------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::use(void)
</del><ins>+HRESULT WebFramePolicyListener::use()
</ins><span class="cx"> {
</span><span class="cx">     receivedPolicyDecision(PolicyUse);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::download(void)
</del><ins>+HRESULT WebFramePolicyListener::download()
</ins><span class="cx"> {
</span><span class="cx">     receivedPolicyDecision(PolicyDownload);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::ignore(void)
</del><ins>+HRESULT WebFramePolicyListener::ignore()
</ins><span class="cx"> {
</span><span class="cx">     receivedPolicyDecision(PolicyIgnore);
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -110,7 +111,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebFormSubmissionListener ------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::continueSubmit(void)
</del><ins>+HRESULT WebFramePolicyListener::continueSubmit()
</ins><span class="cx"> {
</span><span class="cx">     receivedPolicyDecision(PolicyUse);
</span><span class="cx">     return S_OK;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebFramePolicyListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebFramePolicyListener.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebFramePolicyListener.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebFramePolicyListener.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -45,23 +45,24 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebPolicyDecisionListener
</span><del>-    virtual HRESULT STDMETHODCALLTYPE use(void);
-    virtual HRESULT STDMETHODCALLTYPE download(void);
-    virtual HRESULT STDMETHODCALLTYPE ignore(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE use();
+    virtual HRESULT STDMETHODCALLTYPE download();
+    virtual HRESULT STDMETHODCALLTYPE ignore();
</ins><span class="cx"> 
</span><span class="cx">     // IWebFormSubmissionListener
</span><del>-    virtual HRESULT STDMETHODCALLTYPE continueSubmit(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE continueSubmit();
</ins><span class="cx"> 
</span><span class="cx">     // WebFramePolicyListener
</span><span class="cx">     void receivedPolicyDecision(WebCore::PolicyAction);
</span><span class="cx">     void invalidate();
</span><ins>+
</ins><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::Frame&gt; m_frame;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebGeolocationPolicyListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebGeolocationPolicyListener.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebGeolocationPolicyListener.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebGeolocationPolicyListener.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -53,9 +53,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebGeolocationPolicyListener::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebGeolocationPolicyListener::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualIID(riid, __uuidof(IUnknown)))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebGeolocationPolicyListener*&gt;(this);
</span><span class="cx">     else if (IsEqualIID(riid, __uuidof(IWebGeolocationPolicyListener)))
</span><span class="lines">@@ -67,12 +69,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebGeolocationPolicyListener::AddRef()
</del><ins>+ULONG WebGeolocationPolicyListener::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebGeolocationPolicyListener::Release()
</del><ins>+ULONG WebGeolocationPolicyListener::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -83,13 +85,13 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebPolicyDecisionListener ------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebGeolocationPolicyListener::allow()
</del><ins>+HRESULT WebGeolocationPolicyListener::allow()
</ins><span class="cx"> {
</span><span class="cx">     m_geolocation-&gt;setIsAllowed(true);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebGeolocationPolicyListener::deny()
</del><ins>+HRESULT WebGeolocationPolicyListener::deny()
</ins><span class="cx"> {
</span><span class="cx">     m_geolocation-&gt;setIsAllowed(false);
</span><span class="cx">     return S_OK;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebGeolocationPolicyListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebGeolocationPolicyListener.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebGeolocationPolicyListener.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebGeolocationPolicyListener.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     static COMPtr&lt;WebGeolocationPolicyListener&gt; createInstance(PassRefPtr&lt;WebCore::Geolocation&gt;);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     WebGeolocationPolicyListener(PassRefPtr&lt;WebCore::Geolocation&gt;);
</span><span class="cx">     ~WebGeolocationPolicyListener();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::Geolocation&gt; m_geolocation;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebGeolocationPositioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebGeolocationPosition.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebGeolocationPosition.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebGeolocationPosition.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2010 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2010, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  * 
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebGeolocationPosition::WebGeolocationPosition()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebGeolocationPosition&quot;);
</span><span class="lines">@@ -48,9 +47,11 @@
</span><span class="cx">     gClassNameCount().remove(&quot;WebGeolocationPosition&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebGeolocationPosition::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebGeolocationPosition::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualIID(riid, __uuidof(WebGeolocationPosition)))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualIID(riid, __uuidof(IUnknown)))
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebGeolocationPositionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebGeolocationPosition.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebGeolocationPosition.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebGeolocationPosition.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2010 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2010, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  * 
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     WebCore::GeolocationPosition* impl() const { return m_position.get(); }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::GeolocationPosition&gt; m_position;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebHTMLRepresentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebHTMLRepresentation.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebHTMLRepresentation.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebHTMLRepresentation.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple, Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple, Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,8 +39,6 @@
</span><span class="cx"> // WebHTMLRepresentation ------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebHTMLRepresentation::WebHTMLRepresentation()
</span><del>-    : m_refCount(0)
-    , m_frame(0)
</del><span class="cx"> {
</span><span class="cx">     WebHTMLRepresentationCount++;
</span><span class="cx">     gClassCount++;
</span><span class="lines">@@ -51,7 +49,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_frame) {
</span><span class="cx">         m_frame-&gt;Release();
</span><del>-        m_frame = 0;
</del><ins>+        m_frame = nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     WebHTMLRepresentationCount--;
</span><span class="lines">@@ -70,9 +68,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebHTMLRepresentation::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebHTMLRepresentation*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebHTMLRepresentation))
</span><span class="lines">@@ -86,12 +86,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebHTMLRepresentation::AddRef()
</del><ins>+ULONG WebHTMLRepresentation::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebHTMLRepresentation::Release()
</del><ins>+ULONG WebHTMLRepresentation::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -102,156 +102,137 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebHTMLRepresentation --------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::supportedMIMETypes(
-        /* [out][in] */ BSTR* /*types*/,
-        /* [out][in] */ int* /*cTypes*/)
</del><ins>+HRESULT WebHTMLRepresentation::supportedMIMETypes(__deref_opt_inout BSTR* /*types*/, _Inout_ int* /*cTypes*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::supportedNonImageMIMETypes(
-        /* [out][in] */ BSTR* /*types*/,
-        /* [out][in] */ int* /*cTypes*/)
</del><ins>+HRESULT WebHTMLRepresentation::supportedNonImageMIMETypes(__deref_opt_inout BSTR* /*types*/, _Inout_ int* /*cTypes*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::supportedImageMIMETypes(
-        /* [out][in] */ BSTR* /*types*/,
-        /* [out][in] */ int* /*cTypes*/)
</del><ins>+HRESULT WebHTMLRepresentation::supportedImageMIMETypes(__deref_opt_inout BSTR* /*types*/, _Inout_ int* /*cTypes*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::attributedStringFromDOMNodes(
-        /* [in] */ IDOMNode* /*startNode*/,
-        /* [in] */ int /*startOffset*/,
-        /* [in] */ IDOMNode* /*endNode*/,
-        /* [in] */ int /*endOffset*/,
-        /* [retval][out] */ IDataObject** /*attributedString*/)
</del><ins>+HRESULT WebHTMLRepresentation::attributedStringFromDOMNodes(_In_opt_ IDOMNode* /*startNode*/,
+    int /*startOffset*/, _In_opt_ IDOMNode* /*endNode*/, int /*endOffset*/, _COM_Outptr_opt_ IDataObject** attributedString)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!attributedString)
+        return E_POINTER;
+    *attributedString = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::elementWithName(
-        /* [in] */ BSTR name,
-        /* [in] */ IDOMElement* form,
-        /* [retval][out] */ IDOMElement** element)
</del><ins>+HRESULT WebHTMLRepresentation::elementWithName(_In_ BSTR name, _In_opt_ IDOMElement* form, _COM_Outptr_opt_ IDOMElement** element)
</ins><span class="cx"> {
</span><ins>+    if (!element)
+        return E_POINTER;
+    *element = nullptr;
</ins><span class="cx">     if (!m_frame)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_frame-&gt;elementWithName(name, form, element);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::elementDoesAutoComplete(
-        /* [in] */ IDOMElement* element,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebHTMLRepresentation::elementDoesAutoComplete(_In_opt_ IDOMElement* element, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     BOOL doesAutoComplete;
</span><span class="cx">     HRESULT hr = m_frame-&gt;elementDoesAutoComplete(element, &amp;doesAutoComplete);
</span><span class="cx">     *result = doesAutoComplete ? TRUE : FALSE;
</span><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::elementIsPassword(
-        /* [in] */ IDOMElement* element,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebHTMLRepresentation::elementIsPassword(_In_opt_ IDOMElement* element, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     bool isPassword;
</span><span class="cx">     HRESULT hr = m_frame-&gt;elementIsPassword(element, &amp;isPassword);
</span><span class="cx">     *result = isPassword ?  TRUE : FALSE;
</span><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::formForElement(
-        /* [in] */ IDOMElement* element,
-        /* [retval][out] */ IDOMElement** form)
</del><ins>+HRESULT WebHTMLRepresentation::formForElement(_In_opt_ IDOMElement* element, _COM_Outptr_opt_ IDOMElement** form)
</ins><span class="cx"> {
</span><ins>+    if (!form)
+        return E_POINTER;
+    *form = nullptr;
</ins><span class="cx">     if (!m_frame)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_frame-&gt;formForElement(element, form);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::currentForm(
-        /* [retval][out] */ IDOMElement** form)
</del><ins>+HRESULT WebHTMLRepresentation::currentForm(_COM_Outptr_opt_ IDOMElement** form)
</ins><span class="cx"> {
</span><ins>+    if (!form)
+        return E_POINTER;
+    *form = nullptr;
</ins><span class="cx">     if (!m_frame)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_frame-&gt;currentForm(form);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::controlsInForm(
-        /* [in] */ IDOMElement* form,
-        /* [out][in] */ IDOMElement** controls,
-        /* [out][in] */ int* cControls)
</del><ins>+HRESULT WebHTMLRepresentation::controlsInForm(_In_opt_ IDOMElement* form, __deref_inout_opt IDOMElement** controls, _Out_ int* cControls)
</ins><span class="cx"> {
</span><span class="cx">     return m_frame-&gt;controlsInForm(form, controls, cControls);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::deprecatedSearchForLabels(
-        /* [size_is][in] */ BSTR* labels,
-        /* [in] */ int cLabels,
-        /* [in] */ IDOMElement* beforeElement,
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebHTMLRepresentation::deprecatedSearchForLabels(__inout_ecount_full(cLabels) BSTR* labels, int cLabels,
+    _In_opt_ IDOMElement* beforeElement, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     return m_frame-&gt;searchForLabelsBeforeElement(labels, cLabels, beforeElement, 0, 0, result);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::matchLabels(
-        /* [size_is][in] */ BSTR* labels,
-        /* [in] */ int cLabels,
-        /* [in] */ IDOMElement* againstElement,
-        /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebHTMLRepresentation::matchLabels(__inout_ecount_full(cLabels) BSTR* labels, int cLabels, _In_opt_ IDOMElement* againstElement,
+    __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     return m_frame-&gt;matchLabelsAgainstElement(labels, cLabels, againstElement, result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebHTMLRepresentation::searchForLabels(BSTR* labels, unsigned cLabels, IDOMElement* beforeElement, unsigned* resultDistance, BOOL* resultIsInCellAbove, BSTR* result)
</del><ins>+HRESULT WebHTMLRepresentation::searchForLabels(__inout_ecount_full(cLabels) BSTR* labels, unsigned cLabels, _In_opt_ IDOMElement* beforeElement,
+    _Out_ unsigned* resultDistance, _Out_ BOOL* resultIsInCellAbove, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     return m_frame-&gt;searchForLabelsBeforeElement(labels, cLabels, beforeElement, resultDistance, resultIsInCellAbove, result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebDocumentRepresentation ----------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::setDataSource(
-        /* [in] */ IWebDataSource* /*dataSource*/)
</del><ins>+HRESULT WebHTMLRepresentation::setDataSource(_In_opt_ IWebDataSource* /*dataSource*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::receivedData(
-        /* [in] */ IStream* /*data*/,
-        /* [in] */ IWebDataSource* /*dataSource*/)
</del><ins>+HRESULT WebHTMLRepresentation::receivedData(_In_opt_ IStream* /*data*/, _In_opt_ IWebDataSource* /*dataSource*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::receivedError(
-        /* [in] */ IWebError* /*error*/,
-        /* [in] */ IWebDataSource* /*dataSource*/)
</del><ins>+HRESULT WebHTMLRepresentation::receivedError(_In_opt_ IWebError* /*error*/, _In_opt_ IWebDataSource* /*dataSource*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::finishedLoadingWithDataSource(
-        /* [in] */ IWebDataSource* /*dataSource*/)
</del><ins>+HRESULT WebHTMLRepresentation::finishedLoadingWithDataSource(_In_opt_ IWebDataSource* /*dataSource*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::canProvideDocumentSource(
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebHTMLRepresentation::canProvideDocumentSource(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     bool canProvideSource;
</span><span class="cx">     HRESULT hr = this-&gt;m_frame-&gt;canProvideDocumentSource(&amp;canProvideSource);
</span><span class="lines">@@ -259,13 +240,12 @@
</span><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::documentSource(
-        /* [retval][out] */ BSTR* source)
</del><ins>+HRESULT WebHTMLRepresentation::documentSource(__deref_opt_out BSTR* source)
</ins><span class="cx"> {
</span><span class="cx">     if (!source)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    *source = 0;
</del><ins>+    *source = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     HRESULT hr = S_OK;
</span><span class="cx"> 
</span><span class="lines">@@ -310,8 +290,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::title(
-        /* [retval][out] */ BSTR* /*docTitle*/)
</del><ins>+HRESULT WebHTMLRepresentation::title(__deref_opt_out BSTR* /*docTitle*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebHTMLRepresentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebHTMLRepresentation.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebHTMLRepresentation.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebHTMLRepresentation.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -40,97 +40,41 @@
</span><span class="cx"> public:
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="cx">     // IWebHTMLRepresentation
</span><del>-    virtual HRESULT STDMETHODCALLTYPE supportedMIMETypes(
-        /* [out][in] */ BSTR* types,
-        /* [out][in] */ int* cTypes);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE supportedMIMETypes(__deref_opt_inout BSTR* types, _Inout_ int* cTypes);
+    virtual HRESULT STDMETHODCALLTYPE supportedNonImageMIMETypes(__deref_opt_inout BSTR* types, _Inout_ int* cTypes);
+    virtual HRESULT STDMETHODCALLTYPE supportedImageMIMETypes(__deref_opt_inout BSTR* types, _Inout_ int* cTypes);
+    virtual HRESULT STDMETHODCALLTYPE attributedStringFromDOMNodes(_In_opt_ IDOMNode* startNode, int startOffset,
+        _In_opt_ IDOMNode* endNode, int endOffset, _COM_Outptr_opt_ IDataObject** attributedString);
+    virtual HRESULT STDMETHODCALLTYPE elementWithName(_In_ BSTR name, _In_opt_ IDOMElement* form, _COM_Outptr_opt_ IDOMElement**);
+    virtual HRESULT STDMETHODCALLTYPE elementDoesAutoComplete(_In_opt_ IDOMElement*, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE elementIsPassword(_In_opt_ IDOMElement*, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE formForElement(_In_opt_ IDOMElement*, _COM_Outptr_opt_ IDOMElement** form);
+    virtual HRESULT STDMETHODCALLTYPE currentForm(_COM_Outptr_opt_ IDOMElement** form);
+    virtual HRESULT STDMETHODCALLTYPE controlsInForm(_In_opt_ IDOMElement* form, __deref_inout_opt IDOMElement** controls, _Out_ int* cControls);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE supportedNonImageMIMETypes(
-        /* [out][in] */ BSTR* types,
-        /* [out][in] */ int* cTypes);
-    
-    virtual HRESULT STDMETHODCALLTYPE supportedImageMIMETypes(
-        /* [out][in] */ BSTR* types,
-        /* [out][in] */ int* cTypes);
-    
-    virtual HRESULT STDMETHODCALLTYPE attributedStringFromDOMNodes(
-        /* [in] */ IDOMNode* startNode,
-        /* [in] */ int startOffset,
-        /* [in] */ IDOMNode* endNode,
-        /* [in] */ int endOffset,
-        /* [retval][out] */ IDataObject** attributedString);
-    
-    virtual HRESULT STDMETHODCALLTYPE elementWithName(
-        /* [in] */ BSTR name,
-        /* [in] */ IDOMElement* form,
-        /* [retval][out] */ IDOMElement** element);
-    
-    virtual HRESULT STDMETHODCALLTYPE elementDoesAutoComplete(
-        /* [in] */ IDOMElement* element,
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE elementIsPassword(
-        /* [in] */ IDOMElement* element,
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE formForElement(
-        /* [in] */ IDOMElement* element,
-        /* [retval][out] */ IDOMElement** form);
-    
-    virtual HRESULT STDMETHODCALLTYPE currentForm(
-        /* [retval][out] */ IDOMElement** form);
-    
-    virtual HRESULT STDMETHODCALLTYPE controlsInForm(
-        /* [in] */ IDOMElement* form,
-        /* [out][in] */ IDOMElement** controls,
-        /* [out][in] */ int* cControls);
-    
</del><span class="cx">     /* Deprecated. Use the variant that includes resultDistance and resultIsInCellAbove instead. */
</span><del>-    virtual HRESULT STDMETHODCALLTYPE deprecatedSearchForLabels(
-        /* [size_is][in] */ BSTR *labels,
-        /* [in] */ int cLabels,
-        /* [in] */ IDOMElement *beforeElement,
-        /* [retval][out] */ BSTR *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE deprecatedSearchForLabels(__inout_ecount_full(cLabels) BSTR* labels, int cLabels, _In_opt_ IDOMElement* beforeElement, __deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE matchLabels(__inout_ecount_full(cLabels) BSTR* labels, int cLabels, _In_opt_ IDOMElement* againstElement, __deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE searchForLabels(__inout_ecount_full(cLabels) BSTR* labels, unsigned cLabels, _In_opt_ IDOMElement* beforeElement,
+        _Out_ unsigned* resultDistance, _Out_ BOOL* resultIsInCellAbove, __deref_opt_out BSTR* result);
</ins><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE matchLabels(
-        /* [size_is][in] */ BSTR *labels,
-        /* [in] */ int cLabels,
-        /* [in] */ IDOMElement *againstElement,
-        /* [retval][out] */ BSTR *result);
-
-    virtual HRESULT STDMETHODCALLTYPE searchForLabels(BSTR* labels, unsigned cLabels, IDOMElement* beforeElement, unsigned* resultDistance, BOOL* resultIsInCellAbove, BSTR* result);
-    
</del><span class="cx">     // IWebDocumentRepresentation
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDataSource(
-        /* [in] */ IWebDataSource* dataSource);
-    
-    virtual HRESULT STDMETHODCALLTYPE receivedData(
-        /* [in] */ IStream* data,
-        /* [in] */ IWebDataSource* dataSource);
-    
-    virtual HRESULT STDMETHODCALLTYPE receivedError(
-        /* [in] */ IWebError* error,
-        /* [in] */ IWebDataSource* dataSource);
-    
-    virtual HRESULT STDMETHODCALLTYPE finishedLoadingWithDataSource(
-        /* [in] */ IWebDataSource* dataSource);
-    
-    virtual HRESULT STDMETHODCALLTYPE canProvideDocumentSource(
-        /* [retval][out] */ BOOL* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE documentSource(
-        /* [retval][out] */ BSTR* source);
-    
-    virtual HRESULT STDMETHODCALLTYPE title(
-        /* [retval][out] */ BSTR* docTitle);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDataSource(_In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE receivedData(_In_opt_ IStream* data, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE receivedError(_In_opt_ IWebError*, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE finishedLoadingWithDataSource(_In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE canProvideDocumentSource(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE documentSource(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR*);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
-    WebFrame* m_frame;
</del><ins>+    ULONG m_refCount { 0 };
+    WebFrame* m_frame { nullptr };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebHistorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebHistory.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebHistory.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebHistory.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2014-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -154,8 +154,6 @@
</span><span class="cx"> // WebHistory -----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebHistory::WebHistory()
</span><del>-: m_refCount(0)
-, m_preferences(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebHistory&quot;);
</span><span class="lines">@@ -202,9 +200,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebHistory::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, CLSID_WebHistory))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="lines">@@ -220,12 +220,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebHistory::AddRef(void)
</del><ins>+ULONG WebHistory::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebHistory::Release(void)
</del><ins>+ULONG WebHistory::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -247,17 +247,17 @@
</span><span class="cx">     return sharedHistoryStorage().get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::optionalSharedHistory( 
-    /* [retval][out] */ IWebHistory** history)
</del><ins>+HRESULT WebHistory::optionalSharedHistory(_COM_Outptr_opt_ IWebHistory** history)
</ins><span class="cx"> {
</span><ins>+    if (!history)
+        return E_POINTER;
</ins><span class="cx">     *history = sharedHistory();
</span><span class="cx">     if (*history)
</span><span class="cx">         (*history)-&gt;AddRef();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::setOptionalSharedHistory( 
-    /* [in] */ IWebHistory* history)
</del><ins>+HRESULT WebHistory::setOptionalSharedHistory(_In_opt_ IWebHistory* history)
</ins><span class="cx"> {
</span><span class="cx">     if (sharedHistoryStorage() == history)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -267,21 +267,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::unused1()
</del><ins>+HRESULT WebHistory::unused1()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::unused2()
</del><ins>+HRESULT WebHistory::unused2()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::addItems( 
-    /* [in] */ int itemCount,
-    /* [in] */ IWebHistoryItem** items)
</del><ins>+HRESULT WebHistory::addItems(int itemCount, __deref_in_ecount_opt(itemCount) IWebHistoryItem** items)
</ins><span class="cx"> {
</span><span class="cx">     // There is no guarantee that the incoming entries are in any particular
</span><span class="cx">     // order, but if this is called with a set of entries that were created by
</span><span class="lines">@@ -299,9 +297,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::removeItems( 
-    /* [in] */ int itemCount,
-    /* [in] */ IWebHistoryItem** items)
</del><ins>+HRESULT WebHistory::removeItems(int itemCount, __deref_in_ecount_opt(itemCount) IWebHistoryItem** items)
</ins><span class="cx"> {
</span><span class="cx">     HRESULT hr;
</span><span class="cx">     for (int i = 0; i &lt; itemCount; ++i) {
</span><span class="lines">@@ -313,7 +309,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::removeAllItems( void)
</del><ins>+HRESULT WebHistory::removeAllItems()
</ins><span class="cx"> {
</span><span class="cx">     Vector&lt;IWebHistoryItem*&gt; itemsVector;
</span><span class="cx">     itemsVector.reserveInitialCapacity(m_entriesByURL.size());
</span><span class="lines">@@ -329,25 +325,18 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistory interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::orderedLastVisitedDays( 
-    /* [out][in] */ int* count,
-    /* [in] */ DATE* calendarDates)
</del><ins>+HRESULT WebHistory::orderedLastVisitedDays(_Inout_ int* count, _In_ DATE* calendarDates)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistory interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::orderedItemsLastVisitedOnDay( 
-    /* [out][in] */ int* count,
-    /* [in] */ IWebHistoryItem** items,
-    /* [in] */ DATE calendarDate)
</del><ins>+HRESULT WebHistory::orderedItemsLastVisitedOnDay(_Inout_ int* count, __deref_in_opt IWebHistoryItem** items, DATE calendarDate)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::allItems( 
-    /* [out][in] */ int* count,
-    /* [out][retval] */ IWebHistoryItem** items)
</del><ins>+HRESULT WebHistory::allItems(_Inout_ int* count, __deref_opt_out IWebHistoryItem** items)
</ins><span class="cx"> {
</span><span class="cx">     int entriesByURLCount = m_entriesByURL.size();
</span><span class="cx"> 
</span><span class="lines">@@ -358,7 +347,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (*count &lt; entriesByURLCount) {
</span><span class="cx">         *count = entriesByURLCount;
</span><del>-        return E_FAIL;
</del><ins>+        return E_NOT_SUFFICIENT_BUFFER;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     *count = entriesByURLCount;
</span><span class="lines">@@ -383,33 +372,35 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::setHistoryItemLimit( 
-    /* [in] */ int limit)
</del><ins>+HRESULT WebHistory::setHistoryItemLimit(int limit)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_preferences)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     return m_preferences-&gt;setHistoryItemLimit(limit);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::historyItemLimit( 
-    /* [retval][out] */ int* limit)
</del><ins>+HRESULT WebHistory::historyItemLimit(_Out_ int* limit)
</ins><span class="cx"> {
</span><ins>+    if (!limit)
+        return E_POINTER;
+    *limit = 0;
</ins><span class="cx">     if (!m_preferences)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     return m_preferences-&gt;historyItemLimit(limit);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::setHistoryAgeInDaysLimit( 
-    /* [in] */ int limit)
</del><ins>+HRESULT WebHistory::setHistoryAgeInDaysLimit(int limit)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_preferences)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     return m_preferences-&gt;setHistoryAgeInDaysLimit(limit);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistory::historyAgeInDaysLimit( 
-    /* [retval][out] */ int* limit)
</del><ins>+HRESULT WebHistory::historyAgeInDaysLimit(_Out_ int* limit)
</ins><span class="cx"> {
</span><ins>+    if (!limit)
+        return E_POINTER;
+    *limit = 0;
</ins><span class="cx">     if (!m_preferences)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     return m_preferences-&gt;historyAgeInDaysLimit(limit);
</span><span class="lines">@@ -538,11 +529,11 @@
</span><span class="cx">     postNotification(kWebHistoryItemsAddedNotification, userInfo.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebHistory::itemForURL(BSTR urlBStr, IWebHistoryItem** item)
</del><ins>+HRESULT WebHistory::itemForURL(_In_ BSTR urlBStr, _COM_Outptr_opt_ IWebHistoryItem** item)
</ins><span class="cx"> {
</span><span class="cx">     if (!item)
</span><del>-        return E_FAIL;
-    *item = 0;
</del><ins>+        return E_POINTER;
+    *item = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     String urlString(urlBStr, SysStringLen(urlBStr));
</span><span class="cx">     if (urlString.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebHistoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebHistory.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebHistory.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebHistory.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2006-2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -51,62 +51,29 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebHistory
</span><del>-    virtual HRESULT STDMETHODCALLTYPE optionalSharedHistory( 
-        /* [retval][out] */ IWebHistory** history);
-    
-    virtual HRESULT STDMETHODCALLTYPE setOptionalSharedHistory( 
-        /* [in] */ IWebHistory* history);
-    
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE optionalSharedHistory(_COM_Outptr_opt_ IWebHistory**);
+    virtual HRESULT STDMETHODCALLTYPE setOptionalSharedHistory(_In_opt_ IWebHistory*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused1() override;
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused2() override;
</span><del>-    
-    virtual HRESULT STDMETHODCALLTYPE addItems( 
-        /* [in] */ int itemCount,
-        /* [in] */ IWebHistoryItem** items);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeItems( 
-        /* [in] */ int itemCount,
-        /* [in] */ IWebHistoryItem** items);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeAllItems( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE orderedLastVisitedDays( 
-        /* [out][in] */ int* count,
-        /* [in] */ DATE* calendarDates);
-    
-    virtual HRESULT STDMETHODCALLTYPE orderedItemsLastVisitedOnDay( 
-        /* [out][in] */ int* count,
-        /* [in] */ IWebHistoryItem** items,
-        /* [in] */ DATE calendarDate);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE addItems(int itemCount, __deref_in_ecount_opt(itemCount) IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE removeItems(int itemCount, __deref_in_ecount_opt(itemCount) IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE removeAllItems();
+    virtual HRESULT STDMETHODCALLTYPE orderedLastVisitedDays(_Inout_ int* count, _In_ DATE* calendarDates);
+    virtual HRESULT STDMETHODCALLTYPE orderedItemsLastVisitedOnDay(_Inout_ int* count, __deref_in_opt IWebHistoryItem** items, DATE calendarDate);
+    virtual HRESULT STDMETHODCALLTYPE itemForURL(_In_ BSTR url, _COM_Outptr_opt_ IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE setHistoryItemLimit(int);
+    virtual HRESULT STDMETHODCALLTYPE historyItemLimit(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setHistoryAgeInDaysLimit(int);
+    virtual HRESULT STDMETHODCALLTYPE historyAgeInDaysLimit(_Out_ int*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE itemForURL( 
-        /* [in] */ BSTR url,
-        /* [retval][out] */ IWebHistoryItem** item);
-    
-    virtual HRESULT STDMETHODCALLTYPE setHistoryItemLimit( 
-        /* [in] */ int limit);
-    
-    virtual HRESULT STDMETHODCALLTYPE historyItemLimit( 
-        /* [retval][out] */ int* limit);
-    
-    virtual HRESULT STDMETHODCALLTYPE setHistoryAgeInDaysLimit( 
-        /* [in] */ int limit);
-    
-    virtual HRESULT STDMETHODCALLTYPE historyAgeInDaysLimit( 
-        /* [retval][out] */ int* limit);
-
</del><span class="cx">     // IWebHistoryPrivate
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE allItems( 
-        /* [out][in] */ int* count,
-        /* [retval][out] */ IWebHistoryItem** items);
-
-    virtual HRESULT STDMETHODCALLTYPE setVisitedLinkTrackingEnabled(BOOL visitedLinkTrackingEnable);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE allItems(_Inout_ int* count, __deref_opt_out IWebHistoryItem** items);
+    virtual HRESULT STDMETHODCALLTYPE setVisitedLinkTrackingEnabled(BOOL);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE removeAllVisitedLinks();
</span><span class="cx"> 
</span><span class="cx">     // WebHistory
</span><span class="lines">@@ -138,7 +105,7 @@
</span><span class="cx">     HRESULT removeItemForURLString(const WTF::String&amp; urlString);
</span><span class="cx">     BSTR getNotificationString(NotificationType notifyType);
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     URLToEntriesMap m_entriesByURL;
</span><span class="cx">     COMPtr&lt;WebPreferences&gt; m_preferences;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebHistoryItemcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebHistoryItem.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebHistoryItem.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebHistoryItem.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2006-2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -47,8 +47,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebHistoryItem::WebHistoryItem(PassRefPtr&lt;HistoryItem&gt; historyItem)
</span><del>-: m_refCount(0)
-, m_historyItem(historyItem)
</del><ins>+    : m_historyItem(historyItem)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!historyItemWrappers().contains(m_historyItem.get()));
</span><span class="cx">     historyItemWrappers().set(m_historyItem.get(), this);
</span><span class="lines">@@ -93,7 +92,7 @@
</span><span class="cx"> static CFStringRef lastVisitWasFailureKey = CFSTR(&quot;lastVisitWasFailure&quot;);
</span><span class="cx"> static CFStringRef redirectURLsKey = CFSTR(&quot;redirectURLs&quot;);
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::initFromDictionaryRepresentation(void* dictionary)
</del><ins>+HRESULT WebHistoryItem::initFromDictionaryRepresentation(_In_opt_ void* dictionary)
</ins><span class="cx"> {
</span><span class="cx">     CFDictionaryRef dictionaryRef = (CFDictionaryRef) dictionary;
</span><span class="cx"> 
</span><span class="lines">@@ -131,27 +130,30 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::dictionaryRepresentation(void** dictionary)
</del><ins>+HRESULT WebHistoryItem::dictionaryRepresentation(__deref_out_opt void** dictionary)
</ins><span class="cx"> {
</span><span class="cx">     CFDictionaryRef* dictionaryRef = (CFDictionaryRef*) dictionary;
</span><span class="cx"> 
</span><del>-    int keyCount = 0;
</del><ins>+    size_t keyCount = 0;
</ins><span class="cx">     CFTypeRef keys[9];
</span><span class="cx">     CFTypeRef values[9];
</span><span class="cx"> 
</span><span class="cx">     if (!m_historyItem-&gt;urlString().isEmpty()) {
</span><span class="cx">         keys[keyCount] = urlKey;
</span><del>-        values[keyCount++] = m_historyItem-&gt;urlString().createCFString().leakRef();
</del><ins>+        values[keyCount] = m_historyItem-&gt;urlString().createCFString().leakRef();
+        ++keyCount;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!m_historyItem-&gt;title().isEmpty()) {
</span><span class="cx">         keys[keyCount] = titleKey;
</span><del>-        values[keyCount++] = m_historyItem-&gt;title().createCFString().leakRef();
</del><ins>+        values[keyCount] = m_historyItem-&gt;title().createCFString().leakRef();
+        ++keyCount;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_historyItem-&gt;lastVisitWasFailure()) {
</span><span class="cx">         keys[keyCount] = lastVisitWasFailureKey;
</span><del>-        values[keyCount++] = CFRetain(kCFBooleanTrue);
</del><ins>+        values[keyCount] = CFRetain(kCFBooleanTrue);
+        ++keyCount;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (Vector&lt;String&gt;* redirectURLs = m_historyItem-&gt;redirectURLs()) {
</span><span class="lines">@@ -166,7 +168,8 @@
</span><span class="cx">         delete[] items;
</span><span class="cx"> 
</span><span class="cx">         keys[keyCount] = redirectURLsKey;
</span><del>-        values[keyCount++] = result;
</del><ins>+        values[keyCount] = result;
+        ++keyCount;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     *dictionaryRef = CFDictionaryCreate(0, keys, values, keyCount, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks);
</span><span class="lines">@@ -177,73 +180,84 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::hasURLString(BOOL *hasURL)
</del><ins>+HRESULT WebHistoryItem::hasURLString(_Out_ BOOL* hasURL)
</ins><span class="cx"> {
</span><ins>+    if (!hasURL)
+        return E_POINTER;
</ins><span class="cx">     *hasURL = m_historyItem-&gt;urlString().isEmpty() ? FALSE : TRUE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::visitCount(int *count)
</del><ins>+HRESULT WebHistoryItem::visitCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setVisitCount(int count)
</del><ins>+HRESULT WebHistoryItem::setVisitCount(int count)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::mergeAutoCompleteHints(IWebHistoryItem* otherItem)
</del><ins>+HRESULT WebHistoryItem::mergeAutoCompleteHints(_In_opt_ IWebHistoryItem*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitedTimeInterval(DATE time)
</del><ins>+HRESULT WebHistoryItem::setLastVisitedTimeInterval(DATE time)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setTitle(BSTR title)
</del><ins>+HRESULT WebHistoryItem::setTitle(_In_ BSTR title)
</ins><span class="cx"> {
</span><span class="cx">     m_historyItem-&gt;setTitle(String(title, SysStringLen(title)));
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::RSSFeedReferrer(BSTR* url)
</del><ins>+HRESULT WebHistoryItem::RSSFeedReferrer(__deref_out_opt BSTR* url)
</ins><span class="cx"> {
</span><ins>+    if (!url)
+        return E_POINTER;
+
</ins><span class="cx">     BString str(m_historyItem-&gt;referrer());
</span><span class="cx">     *url = str.release();
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setRSSFeedReferrer(BSTR url)
</del><ins>+HRESULT WebHistoryItem::setRSSFeedReferrer(_In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     m_historyItem-&gt;setReferrer(String(url, SysStringLen(url)));
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::hasPageCache(BOOL* /*hasCache*/)
</del><ins>+HRESULT WebHistoryItem::hasPageCache(_Out_ BOOL* hasCache)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME - TODO
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!hasCache)
+        return E_POINTER;
+    *hasCache = FALSE;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setHasPageCache(BOOL /*hasCache*/)
</del><ins>+HRESULT WebHistoryItem::setHasPageCache(BOOL /*hasCache*/)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME - TODO
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::target(BSTR* target)
</del><ins>+HRESULT WebHistoryItem::target(__deref_out_opt BSTR* target)
</ins><span class="cx"> {
</span><span class="cx">     if (!target) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -254,7 +268,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::isTargetItem(BOOL* result)
</del><ins>+HRESULT WebHistoryItem::isTargetItem(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -265,7 +279,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::children(unsigned* outChildCount, SAFEARRAY** outChildren)
</del><ins>+HRESULT WebHistoryItem::children(unsigned* outChildCount, SAFEARRAY** outChildren)
</ins><span class="cx"> {
</span><span class="cx">     if (!outChildCount || !outChildren) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -305,7 +319,7 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitWasFailure(BOOL* wasFailure)
</del><ins>+HRESULT WebHistoryItem::lastVisitWasFailure(_Out_ BOOL* wasFailure)
</ins><span class="cx"> {
</span><span class="cx">     if (!wasFailure) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -316,25 +330,28 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitWasFailure(BOOL wasFailure)
</del><ins>+HRESULT WebHistoryItem::setLastVisitWasFailure(BOOL wasFailure)
</ins><span class="cx"> {
</span><span class="cx">     m_historyItem-&gt;setLastVisitWasFailure(wasFailure);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitWasHTTPNonGet(BOOL* HTTPNonGet)
</del><ins>+HRESULT WebHistoryItem::lastVisitWasHTTPNonGet(_Out_ BOOL* HTTPNonGet)
</ins><span class="cx"> {
</span><ins>+    if (!HTTPNonGet)
+        return E_POINTER;
+    *HTTPNonGet = FALSE;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitWasHTTPNonGet(BOOL HTTPNonGet)
</del><ins>+HRESULT WebHistoryItem::setLastVisitWasHTTPNonGet(BOOL)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::redirectURLs(IEnumVARIANT** urls)
</del><ins>+HRESULT WebHistoryItem::redirectURLs(_COM_Outptr_opt_ IEnumVARIANT** urls)
</ins><span class="cx"> {
</span><span class="cx">     if (!urls) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -354,25 +371,29 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::visitedWithTitle(BSTR title, BOOL increaseVisitCount)
</del><ins>+HRESULT STDMETHODCALLTYPE WebHistoryItem::visitedWithTitle(_In_ BSTR title, BOOL increaseVisitCount)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::getDailyVisitCounts(int* number, int** counts)
</del><ins>+HRESULT WebHistoryItem::getDailyVisitCounts(_Out_ int* number, __deref_out_opt int** counts)
</ins><span class="cx"> {
</span><ins>+    if (!number || !counts)
+        return E_POINTER;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::getWeeklyVisitCounts(int* number, int** counts)
</del><ins>+HRESULT WebHistoryItem::getWeeklyVisitCounts(_Out_ int* number, __deref_out_opt int** counts)
</ins><span class="cx"> {
</span><ins>+    if (!number || !counts)
+        return E_POINTER;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::recordInitialVisit()
</del><ins>+HRESULT WebHistoryItem::recordInitialVisit()
</ins><span class="cx"> {
</span><span class="cx">     // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -380,9 +401,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebHistoryItem::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, __uuidof(WebHistoryItem)))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="lines">@@ -398,12 +421,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebHistoryItem::AddRef(void)
</del><ins>+ULONG WebHistoryItem::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebHistoryItem::Release(void)
</del><ins>+ULONG WebHistoryItem::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -414,10 +437,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebHistoryItem -------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::initWithURLString(
-    /* [in] */ BSTR urlString,
-    /* [in] */ BSTR title,
-    /* [in] */ DATE lastVisited)
</del><ins>+HRESULT WebHistoryItem::initWithURLString(_In_ BSTR urlString, _In_ BSTR title, DATE lastVisited)
</ins><span class="cx"> {
</span><span class="cx">     historyItemWrappers().remove(m_historyItem.get());
</span><span class="cx">     m_historyItem = HistoryItem::create(String(urlString, SysStringLen(urlString)), String(title, SysStringLen(title)));
</span><span class="lines">@@ -426,8 +446,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::originalURLString( 
-    /* [retval][out] */ BSTR* url)
</del><ins>+HRESULT WebHistoryItem::originalURLString(__deref_opt_out BSTR* url)
</ins><span class="cx"> {
</span><span class="cx">     if (!url)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -437,8 +456,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::URLString( 
-    /* [retval][out] */ BSTR* url)
</del><ins>+HRESULT WebHistoryItem::URLString(__deref_opt_out BSTR* url)
</ins><span class="cx"> {
</span><span class="cx">     if (!url)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -448,8 +466,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::title( 
-    /* [retval][out] */ BSTR* pageTitle)
</del><ins>+HRESULT WebHistoryItem::title(__deref_opt_out BSTR* pageTitle)
</ins><span class="cx"> {
</span><span class="cx">     if (!pageTitle)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -460,21 +477,20 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This function should be removed from the IWebHistoryItem interface.
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitedTimeInterval( 
-    /* [retval][out] */ DATE* lastVisited)
</del><ins>+HRESULT WebHistoryItem::lastVisitedTimeInterval(_Out_ DATE* lastVisited)
</ins><span class="cx"> {
</span><ins>+    if (!lastVisited)
+        return E_POINTER;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::setAlternateTitle( 
-    /* [in] */ BSTR title)
</del><ins>+HRESULT WebHistoryItem::setAlternateTitle(_In_ BSTR title)
</ins><span class="cx"> {
</span><span class="cx">     m_alternateTitle = String(title, SysStringLen(title));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::alternateTitle( 
-    /* [retval][out] */ BSTR* title)
</del><ins>+HRESULT WebHistoryItem::alternateTitle(__deref_opt_out BSTR* title)
</ins><span class="cx"> {
</span><span class="cx">     if (!title) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -485,9 +501,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebHistoryItem::icon(/* [out, retval] */ HBITMAP* /*hBitmap*/)
</del><ins>+HRESULT STDMETHODCALLTYPE WebHistoryItem::icon(__deref_opt_out HBITMAP* hBitmap)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!hBitmap)
+        return E_POINTER;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebHistoryItemh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebHistoryItem.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebHistoryItem.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebHistoryItem.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2006-2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -50,66 +50,51 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebHistoryItem
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithURLString( 
-        /* [in] */ BSTR urlString,
-        /* [in] */ BSTR title,
-        /* [in] */ DATE lastVisited);
-    
-    virtual HRESULT STDMETHODCALLTYPE originalURLString( 
-        /* [retval][out] */ BSTR *url);
-    
-    virtual HRESULT STDMETHODCALLTYPE URLString( 
-        /* [retval][out] */ BSTR *url);
-    
-    virtual HRESULT STDMETHODCALLTYPE title( 
-        /* [retval][out] */ BSTR *pageTitle);
-    
-    virtual HRESULT STDMETHODCALLTYPE lastVisitedTimeInterval( 
-        /* [retval][out] */ DATE *lastVisited);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAlternateTitle( 
-        /* [in] */ BSTR title);
-    
-    virtual HRESULT STDMETHODCALLTYPE alternateTitle( 
-        /* [retval][out] */ BSTR* title);
-    
-    virtual HRESULT STDMETHODCALLTYPE icon(/* [out, retval] */ HBITMAP* hBitmap);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initWithURLString(_In_ BSTR urlString, _In_ BSTR title, DATE lastVisited);
+    virtual HRESULT STDMETHODCALLTYPE originalURLString(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE URLString(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE lastVisitedTimeInterval(_Out_ DATE*);
+    virtual HRESULT STDMETHODCALLTYPE setAlternateTitle(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE alternateTitle(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE icon(__deref_opt_out HBITMAP*);
</ins><span class="cx"> 
</span><span class="cx">     // IWebHistoryItemPrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initFromDictionaryRepresentation(void* dictionary);
-    virtual HRESULT STDMETHODCALLTYPE dictionaryRepresentation(void** dictionary);
-    virtual HRESULT STDMETHODCALLTYPE visitCount(int *count);
-    virtual HRESULT STDMETHODCALLTYPE setVisitCount(int count);
-    virtual HRESULT STDMETHODCALLTYPE hasURLString(BOOL* hasURL);
-    virtual HRESULT STDMETHODCALLTYPE mergeAutoCompleteHints(IWebHistoryItem* otherItem);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initFromDictionaryRepresentation(_In_opt_ void* dictionary);
+    virtual HRESULT STDMETHODCALLTYPE dictionaryRepresentation(__deref_out_opt void** dictionary);
+    virtual HRESULT STDMETHODCALLTYPE visitCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setVisitCount(int);
+    virtual HRESULT STDMETHODCALLTYPE hasURLString(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE mergeAutoCompleteHints(_In_opt_ IWebHistoryItem*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setLastVisitedTimeInterval(DATE time);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setTitle(BSTR title);
-    virtual HRESULT STDMETHODCALLTYPE RSSFeedReferrer(BSTR* url);
-    virtual HRESULT STDMETHODCALLTYPE setRSSFeedReferrer(BSTR url);
-    virtual HRESULT STDMETHODCALLTYPE hasPageCache(BOOL *hasCache);
-    virtual HRESULT STDMETHODCALLTYPE setHasPageCache(BOOL hasCache);
-    virtual HRESULT STDMETHODCALLTYPE target(BSTR* target);
-    virtual HRESULT STDMETHODCALLTYPE isTargetItem(BOOL* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setTitle(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE RSSFeedReferrer(__deref_out_opt BSTR* url);
+    virtual HRESULT STDMETHODCALLTYPE setRSSFeedReferrer(_In_ BSTR url);
+    virtual HRESULT STDMETHODCALLTYPE hasPageCache(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setHasPageCache(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE target(__deref_out_opt BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE isTargetItem(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE children(unsigned* childCount, SAFEARRAY** children);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE lastVisitWasFailure(BOOL* wasFailure);
-    virtual HRESULT STDMETHODCALLTYPE setLastVisitWasFailure(BOOL wasFailure);
-    virtual HRESULT STDMETHODCALLTYPE lastVisitWasHTTPNonGet(BOOL* HTTPNonGet);
-    virtual HRESULT STDMETHODCALLTYPE setLastVisitWasHTTPNonGet(BOOL HTTPNonGet);
-    virtual HRESULT STDMETHODCALLTYPE redirectURLs(IEnumVARIANT**);
-    virtual HRESULT STDMETHODCALLTYPE visitedWithTitle(BSTR title, BOOL increaseVisitCount);
-    virtual HRESULT STDMETHODCALLTYPE getDailyVisitCounts(int* number, int** counts);
-    virtual HRESULT STDMETHODCALLTYPE getWeeklyVisitCounts(int* number, int** counts);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE lastVisitWasFailure(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setLastVisitWasFailure(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE lastVisitWasHTTPNonGet(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setLastVisitWasHTTPNonGet(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE redirectURLs(_COM_Outptr_opt_ IEnumVARIANT**);
+    virtual HRESULT STDMETHODCALLTYPE visitedWithTitle(_In_ BSTR title, BOOL increaseVisitCount);
+    virtual HRESULT STDMETHODCALLTYPE getDailyVisitCounts(_Out_ int* number, __deref_out_opt int** counts);
+    virtual HRESULT STDMETHODCALLTYPE getWeeklyVisitCounts(_Out_ int* number, __deref_out_opt int** counts);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE recordInitialVisit();
</span><ins>+
</ins><span class="cx">     // WebHistoryItem
</span><span class="cx">     WebCore::HistoryItem* historyItem() const;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WebCore::HistoryItem&gt; m_historyItem;
</span><span class="cx">     WTF::String m_alternateTitle;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebIconDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebIconDatabase.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebIconDatabase.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebIconDatabase.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008, 2009, 2013-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2006-2009, 2013-2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -49,8 +49,6 @@
</span><span class="cx"> WebIconDatabase* WebIconDatabase::m_sharedWebIconDatabase = 0;
</span><span class="cx"> 
</span><span class="cx"> WebIconDatabase::WebIconDatabase()
</span><del>-    : m_refCount(0)
-    , m_deliveryRequested(false)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebIconDatabase&quot;);
</span><span class="lines">@@ -123,9 +121,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebIconDatabase::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebIconDatabase*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebIconDatabase))
</span><span class="lines">@@ -137,12 +137,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebIconDatabase::AddRef(void)
</del><ins>+ULONG WebIconDatabase::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebIconDatabase::Release(void)
</del><ins>+ULONG WebIconDatabase::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -153,21 +153,22 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebIconDatabase --------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::sharedIconDatabase(
-        /* [retval][out] */ IWebIconDatabase** result)
</del><ins>+HRESULT WebIconDatabase::sharedIconDatabase(_COM_Outptr_opt_ IWebIconDatabase** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = sharedWebIconDatabase();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebIconDatabase::iconForURL(BSTR url, LPSIZE size, BOOL /*cache*/, HBITMAP* bitmap)
</del><ins>+HRESULT WebIconDatabase::iconForURL(_In_ BSTR url, _In_ LPSIZE size, BOOL /*cache*/, __deref_opt_out HBITMAP* bitmap)
</ins><span class="cx"> {
</span><del>-    if (!size)
</del><ins>+    if (!size || !bitmap)
</ins><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     IntSize intSize(*size);
</span><span class="cx"> 
</span><del>-    Image* icon = 0;
</del><ins>+    Image* icon = nullptr;
</ins><span class="cx">     if (url)
</span><span class="cx">         icon = iconDatabase().synchronousIconForPageURL(String(url, SysStringLen(url)), intSize);
</span><span class="cx"> 
</span><span class="lines">@@ -185,9 +186,9 @@
</span><span class="cx">     return defaultIconWithSize(size, bitmap);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebIconDatabase::defaultIconWithSize(LPSIZE size, HBITMAP* result)
</del><ins>+HRESULT WebIconDatabase::defaultIconWithSize(_In_ LPSIZE size, __deref_opt_out HBITMAP* result)
</ins><span class="cx"> {
</span><del>-    if (!size)
</del><ins>+    if (!size || !result)
</ins><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     IntSize intSize(*size);
</span><span class="lines">@@ -196,41 +197,37 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::retainIconForURL(
-        /* [in] */ BSTR url)
</del><ins>+HRESULT WebIconDatabase::retainIconForURL(_In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     iconDatabase().retainIconForPageURL(String(url, SysStringLen(url)));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::releaseIconForURL(
-        /* [in] */ BSTR url)
</del><ins>+HRESULT WebIconDatabase::releaseIconForURL(_In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     iconDatabase().releaseIconForPageURL(String(url, SysStringLen(url)));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::removeAllIcons(void)
</del><ins>+HRESULT WebIconDatabase::removeAllIcons()
</ins><span class="cx"> {
</span><span class="cx">     iconDatabase().removeAllIcons();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::delayDatabaseCleanup(void)
</del><ins>+HRESULT WebIconDatabase::delayDatabaseCleanup()
</ins><span class="cx"> {
</span><span class="cx">     IconDatabase::delayDatabaseCleanup();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::allowDatabaseCleanup(void)
</del><ins>+HRESULT WebIconDatabase::allowDatabaseCleanup()
</ins><span class="cx"> {
</span><span class="cx">     IconDatabase::allowDatabaseCleanup();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::iconURLForURL( 
-        /* [in] */ BSTR url,
-        /* [retval][out] */ BSTR* iconURL)
</del><ins>+HRESULT WebIconDatabase::iconURLForURL(_In_ BSTR url, __deref_opt_out BSTR* iconURL)
</ins><span class="cx"> {
</span><span class="cx">     if (!url || !iconURL)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -239,15 +236,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::isEnabled( 
-        /* [retval][out] */ BOOL *result)
</del><ins>+HRESULT WebIconDatabase::isEnabled(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = iconDatabase().isEnabled();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::setEnabled( 
-        /* [in] */ BOOL flag)
</del><ins>+HRESULT WebIconDatabase::setEnabled(BOOL flag)
</ins><span class="cx"> {
</span><span class="cx">     BOOL currentlyEnabled;
</span><span class="cx">     isEnabled(&amp;currentlyEnabled);
</span><span class="lines">@@ -261,9 +258,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebIconDatabase::hasIconForURL(
-        /* [in] */ BSTR url,
-        /* [out][retval] */ BOOL* result)
</del><ins>+HRESULT WebIconDatabase::hasIconForURL(_In_ BSTR url, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!url || !result)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebIconDatabaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebIconDatabase.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebIconDatabase.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebIconDatabase.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008, 2009, 2013-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2006-2009, 2013-2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -58,44 +58,24 @@
</span><span class="cx"> public:
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebIconDatabase
</span><del>-    virtual HRESULT STDMETHODCALLTYPE sharedIconDatabase( 
-        /* [retval][out] */ IWebIconDatabase **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE iconForURL(BSTR url, LPSIZE, BOOL cache, HBITMAP* image);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE sharedIconDatabase(_COM_Outptr_opt_ IWebIconDatabase**);
+    virtual HRESULT STDMETHODCALLTYPE iconForURL(_In_ BSTR url, _In_ LPSIZE, BOOL cache, __deref_opt_out HBITMAP* image);
+    virtual HRESULT STDMETHODCALLTYPE defaultIconWithSize(_In_ LPSIZE, __deref_opt_out HBITMAP* result);
+    virtual HRESULT STDMETHODCALLTYPE retainIconForURL(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE releaseIconForURL(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE removeAllIcons();
+    virtual HRESULT STDMETHODCALLTYPE delayDatabaseCleanup();
+    virtual HRESULT STDMETHODCALLTYPE allowDatabaseCleanup();
+    virtual HRESULT STDMETHODCALLTYPE iconURLForURL(_In_ BSTR url, __deref_opt_out BSTR* iconURL);
+    virtual HRESULT STDMETHODCALLTYPE isEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE hasIconForURL(_In_ BSTR url, _Out_ BOOL* result);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE defaultIconWithSize(/* [in] */ LPSIZE size, /* [retval][out] */ HBITMAP* result);
-    
-    virtual HRESULT STDMETHODCALLTYPE retainIconForURL( 
-        /* [in] */ BSTR url);
-    
-    virtual HRESULT STDMETHODCALLTYPE releaseIconForURL( 
-        /* [in] */ BSTR url);
-
-    virtual HRESULT STDMETHODCALLTYPE removeAllIcons( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE delayDatabaseCleanup( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE allowDatabaseCleanup( void);
-
-    virtual HRESULT STDMETHODCALLTYPE iconURLForURL( 
-        /* [in] */ BSTR url,
-        /* [retval][out] */ BSTR *iconURL);
-
-    virtual HRESULT STDMETHODCALLTYPE isEnabled( 
-        /* [retval][out] */ BOOL *result);
-
-    virtual HRESULT STDMETHODCALLTYPE setEnabled( 
-        /* [in] */ BOOL /*flag*/);
-
-    virtual HRESULT STDMETHODCALLTYPE hasIconForURL(
-        /* [in] */ BSTR url,
-        /* [retval][out] */ BOOL* result);
-
</del><span class="cx">     // IconDatabaseClient
</span><span class="cx">     virtual void didRemoveAllIcons();
</span><span class="cx">     virtual void didImportIconURLForPageURL(const WTF::String&amp;);
</span><span class="lines">@@ -107,7 +87,7 @@
</span><span class="cx">     static BSTR iconDatabaseDidRemoveAllIconsNotification();
</span><span class="cx">     static BSTR iconDatabaseNotificationUserInfoURLKey();
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     static WebIconDatabase* m_sharedWebIconDatabase;
</span><span class="cx"> 
</span><span class="cx">     // Keep a set of HBITMAPs around for the default icon, and another
</span><span class="lines">@@ -120,7 +100,7 @@
</span><span class="cx">     Lock m_notificationMutex;
</span><span class="cx">     Vector&lt;String&gt; m_notificationQueue;
</span><span class="cx">     void scheduleNotificationDelivery();
</span><del>-    bool m_deliveryRequested;
</del><ins>+    bool m_deliveryRequested { false };
</ins><span class="cx"> 
</span><span class="cx">     static void deliverNotifications(void*);
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebInspectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebInspector.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebInspector.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebInspector.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -45,8 +45,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebInspector::WebInspector(WebView* webView, WebInspectorClient* inspectorClient)
</span><del>-    : m_refCount(0)
-    , m_webView(webView)
</del><ins>+    : m_webView(webView)
</ins><span class="cx">     , m_inspectorClient(inspectorClient)
</span><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(webView, webView);
</span><span class="lines">@@ -63,18 +62,20 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspectorFrontendClient* WebInspector::frontendClient()
</span><span class="cx"> {
</span><del>-    return m_inspectorClient ? m_inspectorClient-&gt;frontendClient() : 0;
</del><ins>+    return m_inspectorClient ? m_inspectorClient-&gt;frontendClient() : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebInspector::webViewClosed()
</span><span class="cx"> {
</span><del>-    m_webView = 0;
-    m_inspectorClient = 0;
</del><ins>+    m_webView = nullptr;
+    m_inspectorClient = nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebInspector::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IWebInspector))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebInspector*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebInspectorPrivate))
</span><span class="lines">@@ -88,12 +89,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebInspector::AddRef(void)
</del><ins>+ULONG WebInspector::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebInspector::Release(void)
</del><ins>+ULONG WebInspector::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -102,7 +103,7 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::show()
</del><ins>+HRESULT WebInspector::show()
</ins><span class="cx"> {
</span><span class="cx">     if (m_webView)
</span><span class="cx">         if (Page* page = m_webView-&gt;page())
</span><span class="lines">@@ -111,7 +112,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::showConsole()
</del><ins>+HRESULT WebInspector::showConsole()
</ins><span class="cx"> {
</span><span class="cx">     if (frontendClient())
</span><span class="cx">         frontendClient()-&gt;showConsole();
</span><span class="lines">@@ -119,12 +120,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::unused1()
</del><ins>+HRESULT WebInspector::unused1()
</ins><span class="cx"> {
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::close()
</del><ins>+HRESULT WebInspector::close()
</ins><span class="cx"> {
</span><span class="cx">     if (m_webView)
</span><span class="cx">         if (Page* page = m_webView-&gt;page())
</span><span class="lines">@@ -133,17 +134,17 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::attach()
</del><ins>+HRESULT WebInspector::attach()
</ins><span class="cx"> {
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::detach()
</del><ins>+HRESULT WebInspector::detach()
</ins><span class="cx"> {
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::isDebuggingJavaScript(BOOL* isDebugging)
</del><ins>+HRESULT WebInspector::isDebuggingJavaScript(_Out_ BOOL* isDebugging)
</ins><span class="cx"> {
</span><span class="cx">     if (!isDebugging)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -157,7 +158,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::toggleDebuggingJavaScript()
</del><ins>+HRESULT WebInspector::toggleDebuggingJavaScript()
</ins><span class="cx"> {
</span><span class="cx">     show();
</span><span class="cx"> 
</span><span class="lines">@@ -172,7 +173,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::isProfilingJavaScript(BOOL* isProfiling)
</del><ins>+HRESULT WebInspector::isProfilingJavaScript(_Out_ BOOL* isProfiling)
</ins><span class="cx"> {
</span><span class="cx">     if (!isProfiling)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -187,7 +188,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::toggleProfilingJavaScript()
</del><ins>+HRESULT WebInspector::toggleProfilingJavaScript()
</ins><span class="cx"> {
</span><span class="cx">     show();
</span><span class="cx"> 
</span><span class="lines">@@ -202,7 +203,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::isJavaScriptProfilingEnabled(BOOL* isProfilingEnabled)
</del><ins>+HRESULT WebInspector::isJavaScriptProfilingEnabled(_Out_ BOOL* isProfilingEnabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!isProfilingEnabled)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -220,7 +221,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::setJavaScriptProfilingEnabled(BOOL enabled)
</del><ins>+HRESULT WebInspector::setJavaScriptProfilingEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_webView)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -234,7 +235,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE  WebInspector::evaluateInFrontend(BSTR bScript)
</del><ins>+HRESULT WebInspector::evaluateInFrontend(_In_ BSTR bScript)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_webView)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -248,7 +249,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::isTimelineProfilingEnabled(BOOL* isEnabled)
</del><ins>+HRESULT WebInspector::isTimelineProfilingEnabled(_Out_ BOOL* isEnabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!isEnabled)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -262,7 +263,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebInspector::setTimelineProfilingEnabled(BOOL enabled)
</del><ins>+HRESULT WebInspector::setTimelineProfilingEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     show();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebInspectorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebInspector.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebInspector.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebInspector.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx">     void webViewClosed();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="lines">@@ -54,18 +54,18 @@
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE attach();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE detach();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isDebuggingJavaScript(BOOL* isDebugging);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isDebuggingJavaScript(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE toggleDebuggingJavaScript();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isProfilingJavaScript(BOOL* isProfiling);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isProfilingJavaScript(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE toggleProfilingJavaScript();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isJavaScriptProfilingEnabled(BOOL* isProfilingEnabled);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isJavaScriptProfilingEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setJavaScriptProfilingEnabled(BOOL);
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE evaluateInFrontend(BSTR script);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE evaluateInFrontend(_In_ BSTR script);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isTimelineProfilingEnabled(BOOL* isEnabled);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isTimelineProfilingEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setTimelineProfilingEnabled(BOOL);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> 
</span><span class="cx">     WebInspectorFrontendClient* frontendClient();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     WebView* m_webView;
</span><span class="cx">     WebInspectorClient* m_inspectorClient;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebJavaScriptCollectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebJavaScriptCollector.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebJavaScriptCollector.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebJavaScriptCollector.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007-2008, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> // WebJavaScriptCollector ---------------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebJavaScriptCollector::WebJavaScriptCollector()
</span><del>-: m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebJavaScriptCollector&quot;);
</span><span class="lines">@@ -59,9 +58,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebJavaScriptCollector::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebJavaScriptCollector*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebJavaScriptCollector))
</span><span class="lines">@@ -73,7 +74,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebJavaScriptCollector::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE WebJavaScriptCollector::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="lines">@@ -89,21 +90,19 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebJavaScriptCollector ------------------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::collect()
</del><ins>+HRESULT WebJavaScriptCollector::collect()
</ins><span class="cx"> {
</span><span class="cx">     GCController::singleton().garbageCollectNow();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::collectOnAlternateThread( 
-    /* [in] */ BOOL waitUntilDone)
</del><ins>+HRESULT WebJavaScriptCollector::collectOnAlternateThread(BOOL waitUntilDone)
</ins><span class="cx"> {
</span><span class="cx">     GCController::singleton().garbageCollectOnAlternateThreadForDebugging(!!waitUntilDone);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::objectCount( 
-    /* [retval][out] */ UINT* count)
</del><ins>+HRESULT WebJavaScriptCollector::objectCount(_Out_ UINT* count)
</ins><span class="cx"> {
</span><span class="cx">     if (!count) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebJavaScriptCollectorh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebJavaScriptCollector.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebJavaScriptCollector.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebJavaScriptCollector.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -38,21 +38,17 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebJavaScriptCollector
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE collect();
</span><del>-    
-    virtual HRESULT STDMETHODCALLTYPE collectOnAlternateThread( 
-        /* [in] */ BOOL waitUntilDone);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE collectOnAlternateThread(BOOL waitUntilDone);
+    virtual HRESULT STDMETHODCALLTYPE objectCount(_Out_ UINT*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE objectCount( 
-        /* [retaval][out] */ UINT* count);
-
</del><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitCOMAPIcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitCOMAPI.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitCOMAPI.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitCOMAPI.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -63,8 +63,11 @@
</span><span class="cx">     return factory;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebKitCreateInstance(REFCLSID rclsid, IUnknown* pUnkOuter, REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebKitCreateInstance(REFCLSID rclsid, IUnknown* pUnkOuter, REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     COMPtr&lt;IClassFactory&gt; factory = classFactory(rclsid);
</span><span class="cx">     if (!factory)
</span><span class="cx">         return REGDB_E_CLASSNOTREG;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitCOMAPIh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitCOMAPI.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitCOMAPI.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitCOMAPI.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> // Callers should use this API instead of CoCreateInstance to instantiate WebKit COM classes.
</span><span class="cx"> // This bypasses CoCreateInstance entirely, so registry keys and isolated COM manifests aren't needed.
</span><del>-HRESULT WEBKIT_API WebKitCreateInstance(REFCLSID, IUnknown* pUnkOuter, REFIID, void** ppvObject);
</del><ins>+HRESULT WEBKIT_API WebKitCreateInstance(REFCLSID, IUnknown* pUnkOuter, REFIID, _COM_Outptr_ void** ppvObject);
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitClassFactorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitClassFactory.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitClassFactory.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitClassFactory.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2014-2015 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2014-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -62,8 +62,7 @@
</span><span class="cx"> 
</span><span class="cx"> // WebKitClassFactory ---------------------------------------------------------
</span><span class="cx"> WebKitClassFactory::WebKitClassFactory(CLSID targetClass)
</span><del>-: m_targetClass(targetClass)
-, m_refCount(0)
</del><ins>+    : m_targetClass(targetClass)
</ins><span class="cx"> {
</span><span class="cx">     JSC::initializeThreading();
</span><span class="cx">     WTF::initializeMainThread();
</span><span class="lines">@@ -79,9 +78,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><del>-HRESULT WebKitClassFactory::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebKitClassFactory::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IClassFactory))
</span><span class="lines">@@ -93,7 +94,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG WebKitClassFactory::AddRef(void)
</del><ins>+ULONG WebKitClassFactory::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="lines">@@ -121,10 +122,13 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IClassFactory --------------------------------------------------------------
</span><del>-HRESULT WebKitClassFactory::CreateInstance(IUnknown* pUnkOuter, REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebKitClassFactory::CreateInstance(_In_opt_ IUnknown* pUnkOuter, _In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    IUnknown* unknown = 0;
-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+
+    IUnknown* unknown = nullptr;
+    *ppvObject = nullptr;
</ins><span class="cx">     
</span><span class="cx">     if (pUnkOuter)
</span><span class="cx">         return CLASS_E_NOAGGREGATION;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitClassFactoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitClassFactory.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitClassFactory.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitClassFactory.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -35,16 +35,16 @@
</span><span class="cx">     ~WebKitClassFactory();
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IClassFactory
</span><del>-    virtual HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown* pUnkOuter, REFIID riid, void** ppvObject);
-    virtual HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE CreateInstance(_In_opt_ IUnknown* pUnkOuter, _In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual HRESULT STDMETHODCALLTYPE LockServer(BOOL);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     CLSID m_targetClass;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitDLLcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitDLL.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitDLL.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitDLL.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -94,7 +94,8 @@
</span><span class="cx">     return FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
</del><ins>+_Check_return_
+STDAPI DllGetClassObject(_In_ REFCLSID rclsid, _In_ REFIID riid, _Outptr_ LPVOID* ppv)
</ins><span class="cx"> {
</span><span class="cx">     bool found = false;
</span><span class="cx">     for (size_t i = 0; i &lt; WTF_ARRAY_LENGTH(gRegCLSIDs); ++i) {
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitMessageLoopcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitMessageLoop.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitMessageLoop.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitMessageLoop.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> WebKitMessageLoop::WebKitMessageLoop()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebKitMessageLoop&quot;);
</span><span class="lines">@@ -52,9 +51,11 @@
</span><span class="cx">     return instance;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebKitMessageLoop::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebKitMessageLoop::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebKitMessageLoop*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, CLSID_WebKitMessageLoop))
</span><span class="lines">@@ -82,7 +83,7 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebKitMessageLoop::run(HACCEL hAccelTable)
</del><ins>+HRESULT WebKitMessageLoop::run(_In_ HACCEL hAccelTable)
</ins><span class="cx"> {
</span><span class="cx">     MSG msg = { 0 };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitMessageLooph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitMessageLoop.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitMessageLoop.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitMessageLoop.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -36,16 +36,16 @@
</span><span class="cx">     static WebKitMessageLoop* createInstance();
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject) override;
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject) override;
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef() override;
</span><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release() override;
</span><span class="cx"> 
</span><span class="cx">     // IWebKitMessageLoop
</span><del>-    virtual HRESULT STDMETHODCALLTYPE run(HACCEL hAccelTable) override;
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE run(_In_ HACCEL hAccelTable) override;
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE performMessageLoopTasks() override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitStatisticscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitStatistics.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitStatistics.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitStatistics.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2014-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx"> // WebKitStatistics ---------------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebKitStatistics::WebKitStatistics()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebKitStatistics&quot;);
</span><span class="lines">@@ -65,9 +64,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebKitStatistics::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebKitStatistics::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;WebKitStatistics*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebKitStatistics))
</span><span class="lines">@@ -79,12 +80,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebKitStatistics::AddRef(void)
</del><ins>+ULONG WebKitStatistics::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebKitStatistics::Release(void)
</del><ins>+ULONG WebKitStatistics::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -95,50 +96,59 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebKitStatistics ------------------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebKitStatistics::webViewCount( 
-    /* [retval][out] */ int *count)
</del><ins>+HRESULT WebKitStatistics::webViewCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
</ins><span class="cx">     *count = WebViewCount;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebKitStatistics::frameCount( 
-    /* [retval][out] */ int *count)
</del><ins>+HRESULT WebKitStatistics::frameCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
</ins><span class="cx">     *count = WebFrameCount;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebKitStatistics::dataSourceCount( 
-    /* [retval][out] */ int *count)
</del><ins>+HRESULT WebKitStatistics::dataSourceCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
</ins><span class="cx">     *count = WebDataSourceCount;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebKitStatistics::viewCount( 
-    /* [retval][out] */ int *count)
</del><ins>+HRESULT WebKitStatistics::viewCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
</ins><span class="cx">     *count = WebFrameViewCount;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebKitStatistics::HTMLRepresentationCount( 
-    /* [retval][out] */ int *count)
</del><ins>+HRESULT WebKitStatistics::HTMLRepresentationCount(_Out_ int* count)
</ins><span class="cx"> {
</span><ins>+    if (!count)
+        return E_POINTER;
</ins><span class="cx">     *count = WebHTMLRepresentationCount;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebKitStatistics::comClassCount( 
-    /* [retval][out] */ int *classCount)
</del><ins>+HRESULT WebKitStatistics::comClassCount(_Out_ int *classCount)
</ins><span class="cx"> {
</span><ins>+    if (!classCount)
+        return E_POINTER;
</ins><span class="cx">     *classCount = gClassCount;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebKitStatistics::comClassNameCounts(BSTR* output)
</del><ins>+HRESULT WebKitStatistics::comClassNameCounts(__deref_out_opt BSTR* output)
</ins><span class="cx"> {
</span><ins>+    if (!output)
+        return E_POINTER;
+
</ins><span class="cx">     StringBuilder builder;
</span><span class="cx">     for (auto&amp; slot : gClassNameCount()) {
</span><span class="cx">         builder.appendNumber(slot.value);
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebKitStatisticsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebKitStatistics.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebKitStatistics.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebKitStatistics.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple, Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple, Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -40,34 +40,21 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebKitStatistics
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewCount( 
-        /* [retval][out] */ int *count);
-    
-    virtual HRESULT STDMETHODCALLTYPE frameCount( 
-        /* [retval][out] */ int *count);
-    
-    virtual HRESULT STDMETHODCALLTYPE dataSourceCount( 
-        /* [retval][out] */ int *count);
-    
-    virtual HRESULT STDMETHODCALLTYPE viewCount( 
-        /* [retval][out] */ int *count);
-    
-    virtual HRESULT STDMETHODCALLTYPE HTMLRepresentationCount( 
-        /* [retval][out] */ int *count);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE frameCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE dataSourceCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE viewCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE HTMLRepresentationCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE comClassCount(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE comClassNameCounts(__deref_out_opt BSTR*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE comClassCount( 
-        /* [retval][out] */ int *classCount);
-
-    virtual HRESULT STDMETHODCALLTYPE comClassNameCounts( 
-        /* [retval][out] */ BSTR *output);
-
</del><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // WebKitStatistics_h
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebMutableURLRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebMutableURLRequest.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebMutableURLRequest.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebMutableURLRequest.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -49,8 +49,7 @@
</span><span class="cx"> // IWebURLRequest ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebMutableURLRequest::WebMutableURLRequest(bool isMutable)
</span><del>-    : m_refCount(0)
-    , m_isMutable(isMutable)
</del><ins>+    : m_isMutable(isMutable)
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebMutableURLRequest&quot;);
</span><span class="lines">@@ -102,9 +101,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebMutableURLRequest::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, CLSID_WebMutableURLRequest))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="lines">@@ -122,12 +123,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebMutableURLRequest::AddRef(void)
</del><ins>+ULONG WebMutableURLRequest::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebMutableURLRequest::Release(void)
</del><ins>+ULONG WebMutableURLRequest::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -138,64 +139,67 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebURLRequest --------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::requestWithURL( 
-    /* [in] */ BSTR /*theURL*/,
-    /* [optional][in] */ WebURLRequestCachePolicy /*cachePolicy*/,
-    /* [optional][in] */ double /*timeoutInterval*/)
</del><ins>+HRESULT WebMutableURLRequest::requestWithURL(_In_ BSTR /*theURL*/, WebURLRequestCachePolicy /*cachePolicy*/, double /*timeoutInterval*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::allHTTPHeaderFields( 
-    /* [retval][out] */ IPropertyBag** /*result*/)
</del><ins>+HRESULT WebMutableURLRequest::allHTTPHeaderFields(_COM_Outptr_opt_ IPropertyBag** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::cachePolicy( 
-    /* [retval][out] */ WebURLRequestCachePolicy* result)
</del><ins>+HRESULT WebMutableURLRequest::cachePolicy(_Out_ WebURLRequestCachePolicy* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = kit(m_request.cachePolicy());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPBody( 
-    /* [retval][out] */ IStream** /*result*/)
</del><ins>+HRESULT WebMutableURLRequest::HTTPBody(_COM_Outptr_opt_ IStream** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPBodyStream( 
-    /* [retval][out] */ IStream** /*result*/)
</del><ins>+HRESULT WebMutableURLRequest::HTTPBodyStream(_COM_Outptr_opt_ IStream** result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPMethod( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebMutableURLRequest::HTTPMethod(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     BString httpMethod = BString(m_request.httpMethod());
</span><span class="cx">     *result = httpMethod.release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPShouldHandleCookies( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebMutableURLRequest::HTTPShouldHandleCookies(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     bool shouldHandleCookies = m_request.allowCookies();
</span><span class="cx"> 
</span><span class="cx">     *result = shouldHandleCookies ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::initWithURL( 
-    /* [in] */ BSTR url,
-    /* [optional][in] */ WebURLRequestCachePolicy cachePolicy,
-    /* [optional][in] */ double timeoutInterval)
</del><ins>+HRESULT WebMutableURLRequest::initWithURL(_In_ BSTR url, WebURLRequestCachePolicy cachePolicy, double timeoutInterval)
</ins><span class="cx"> {
</span><span class="cx">     m_request.setURL(MarshallingHelpers::BSTRToKURL(url));
</span><span class="cx">     m_request.setCachePolicy(core(cachePolicy));
</span><span class="lines">@@ -204,30 +208,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::mainDocumentURL( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebMutableURLRequest::mainDocumentURL(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = MarshallingHelpers::URLToBSTR(m_request.firstPartyForCookies());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::timeoutInterval( 
-    /* [retval][out] */ double* result)
</del><ins>+HRESULT WebMutableURLRequest::timeoutInterval(_Out_ double* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_request.timeoutInterval();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::URL( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebMutableURLRequest::URL(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = MarshallingHelpers::URLToBSTR(m_request.url());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::valueForHTTPHeaderField( 
-    /* [in] */ BSTR field,
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebMutableURLRequest::valueForHTTPHeaderField(_In_ BSTR field, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -238,17 +243,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::isEmpty(
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebMutableURLRequest::isEmpty(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_request.isEmpty();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::isEqual(
-        /* [in] */ IWebURLRequest* other,
-        /* [out, retval] */ BOOL* result)
</del><ins>+HRESULT WebMutableURLRequest::isEqual(_In_opt_ IWebURLRequest* other, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     COMPtr&lt;WebMutableURLRequest&gt; requestImpl(Query, other);
</span><span class="cx"> 
</span><span class="cx">     if (!requestImpl) {
</span><span class="lines">@@ -263,29 +270,25 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebMutableURLRequest --------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::addValue( 
-    /* [in] */ BSTR value,
-    /* [in] */ BSTR field)
</del><ins>+HRESULT WebMutableURLRequest::addValue(_In_ BSTR value, _In_ BSTR field)
</ins><span class="cx"> {
</span><span class="cx">     m_request.addHTTPHeaderField(WTF::AtomicString(value, SysStringLen(value)), String(field, SysStringLen(field)));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setAllHTTPHeaderFields( 
-    /* [in] */ IPropertyBag* /*headerFields*/)
</del><ins>+HRESULT WebMutableURLRequest::setAllHTTPHeaderFields(_In_opt_ IPropertyBag* /*headerFields*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setCachePolicy( 
-    /* [in] */ WebURLRequestCachePolicy policy)
</del><ins>+HRESULT WebMutableURLRequest::setCachePolicy(WebURLRequestCachePolicy policy)
</ins><span class="cx"> {
</span><span class="cx">     m_request.setCachePolicy(core(policy));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebMutableURLRequest::setHTTPBody(IStream* data)
</del><ins>+HRESULT WebMutableURLRequest::setHTTPBody(_In_opt_ IStream* data)
</ins><span class="cx"> {
</span><span class="cx">     if (!data)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -308,49 +311,42 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebMutableURLRequest::setHTTPBodyStream(IStream* data)
</del><ins>+HRESULT WebMutableURLRequest::setHTTPBodyStream(_In_opt_ IStream* data)
</ins><span class="cx"> {
</span><span class="cx">     return setHTTPBody(data);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setHTTPMethod( 
-    /* [in] */ BSTR method)
</del><ins>+HRESULT WebMutableURLRequest::setHTTPMethod(_In_ BSTR method)
</ins><span class="cx"> {
</span><span class="cx">     m_request.setHTTPMethod(String(method));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setHTTPShouldHandleCookies( 
-    /* [in] */ BOOL handleCookies)
</del><ins>+HRESULT WebMutableURLRequest::setHTTPShouldHandleCookies(BOOL handleCookies)
</ins><span class="cx"> {
</span><span class="cx">     m_request.setAllowCookies(handleCookies);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setMainDocumentURL( 
-    /* [in] */ BSTR theURL)
</del><ins>+HRESULT WebMutableURLRequest::setMainDocumentURL(_In_ BSTR theURL)
</ins><span class="cx"> {
</span><span class="cx">     m_request.setFirstPartyForCookies(MarshallingHelpers::BSTRToKURL(theURL));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setTimeoutInterval( 
-    /* [in] */ double timeoutInterval)
</del><ins>+HRESULT WebMutableURLRequest::setTimeoutInterval(double timeoutInterval)
</ins><span class="cx"> {
</span><span class="cx">     m_request.setTimeoutInterval(timeoutInterval);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setURL( 
-    /* [in] */ BSTR url)
</del><ins>+HRESULT WebMutableURLRequest::setURL(_In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     m_request.setURL(MarshallingHelpers::BSTRToKURL(url));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setValue( 
-    /* [in] */ BSTR value,
-    /* [in] */ BSTR field)
</del><ins>+HRESULT WebMutableURLRequest::setValue(_In_ BSTR value, _In_ BSTR field)
</ins><span class="cx"> {
</span><span class="cx">     String valueString(value, SysStringLen(value));
</span><span class="cx">     String fieldString(field, SysStringLen(field));
</span><span class="lines">@@ -358,14 +354,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setAllowsAnyHTTPSCertificate(void)
</del><ins>+HRESULT WebMutableURLRequest::setAllowsAnyHTTPSCertificate()
</ins><span class="cx"> {
</span><span class="cx">     ResourceHandle::setHostAllowsAnyHTTPSCertificate(m_request.url().host());
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setClientCertificate(/* [in] */ ULONG_PTR cert)
</del><ins>+HRESULT WebMutableURLRequest::setClientCertificate(ULONG_PTR cert)
</ins><span class="cx"> {
</span><span class="cx">     if (!cert)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -376,13 +372,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CFURLRequestRef STDMETHODCALLTYPE WebMutableURLRequest::cfRequest()
</del><ins>+CFURLRequestRef WebMutableURLRequest::cfRequest()
</ins><span class="cx"> {
</span><span class="cx">     return m_request.cfURLRequest(UpdateHTTPBody);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::mutableCopy(
-        /* [out, retval] */ IWebMutableURLRequest** result)
</del><ins>+HRESULT WebMutableURLRequest::mutableCopy(_COM_Outptr_opt_ IWebMutableURLRequest** result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebMutableURLRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebMutableURLRequest.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebMutableURLRequest.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebMutableURLRequest.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -59,104 +59,43 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebURLRequest
</span><del>-    virtual HRESULT STDMETHODCALLTYPE requestWithURL( 
-        /* [in] */ BSTR theURL,
-        /* [optional][in] */ WebURLRequestCachePolicy cachePolicy,
-        /* [optional][in] */ double timeoutInterval);
-    
-    virtual HRESULT STDMETHODCALLTYPE allHTTPHeaderFields( 
-        /* [retval][out] */ IPropertyBag **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE cachePolicy( 
-        /* [retval][out] */ WebURLRequestCachePolicy *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE HTTPBody( 
-        /* [retval][out] */ IStream **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE HTTPBodyStream( 
-        /* [retval][out] */ IStream **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE HTTPMethod( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE HTTPShouldHandleCookies( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE initWithURL( 
-        /* [in] */ BSTR url,
-        /* [optional][in] */ WebURLRequestCachePolicy cachePolicy,
-        /* [optional][in] */ double timeoutInterval);
-    
-    virtual HRESULT STDMETHODCALLTYPE mainDocumentURL( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE timeoutInterval( 
-        /* [retval][out] */ double *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE URL( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE valueForHTTPHeaderField( 
-        /* [in] */ BSTR field,
-        /* [retval][out] */ BSTR *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE requestWithURL(_In_ BSTR theURL, WebURLRequestCachePolicy, double timeoutInterval);
+    virtual HRESULT STDMETHODCALLTYPE allHTTPHeaderFields(_COM_Outptr_opt_ IPropertyBag** result);
+    virtual HRESULT STDMETHODCALLTYPE cachePolicy(_Out_ WebURLRequestCachePolicy*);
+    virtual HRESULT STDMETHODCALLTYPE HTTPBody(_COM_Outptr_opt_ IStream** result);
+    virtual HRESULT STDMETHODCALLTYPE HTTPBodyStream(_COM_Outptr_opt_ IStream** result);
+    virtual HRESULT STDMETHODCALLTYPE HTTPMethod(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE HTTPShouldHandleCookies(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE initWithURL(_In_ BSTR url, WebURLRequestCachePolicy, double timeoutInterval);
+    virtual HRESULT STDMETHODCALLTYPE mainDocumentURL(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE timeoutInterval(_Out_ double*);
+    virtual HRESULT STDMETHODCALLTYPE URL(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE valueForHTTPHeaderField(_In_ BSTR field, __deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE isEmpty(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE mutableCopy(_COM_Outptr_opt_ IWebMutableURLRequest**);
+    virtual HRESULT STDMETHODCALLTYPE isEqual(_In_opt_ IWebURLRequest* other, _Out_ BOOL* result);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isEmpty(
-    /* [retval][out] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE mutableCopy(
-        /* [out, retval] */ IWebMutableURLRequest** result);
-
-    virtual HRESULT STDMETHODCALLTYPE isEqual(
-        /* [in] */ IWebURLRequest* other,
-        /* [out, retval] */ BOOL* result);
-
</del><span class="cx">     // IWebMutableURLRequest
</span><del>-    virtual HRESULT STDMETHODCALLTYPE addValue( 
-        /* [in] */ BSTR value,
-        /* [in] */ BSTR field);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAllHTTPHeaderFields( 
-        /* [in] */ IPropertyBag *headerFields);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCachePolicy( 
-        /* [in] */ WebURLRequestCachePolicy policy);
-    
-    virtual HRESULT STDMETHODCALLTYPE setHTTPBody( 
-        /* [in] */ IStream *data);
-    
-    virtual HRESULT STDMETHODCALLTYPE setHTTPBodyStream( 
-        /* [in] */ IStream *data);
-    
-    virtual HRESULT STDMETHODCALLTYPE setHTTPMethod( 
-        /* [in] */ BSTR method);
-    
-    virtual HRESULT STDMETHODCALLTYPE setHTTPShouldHandleCookies( 
-        /* [in] */ BOOL handleCookies);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMainDocumentURL( 
-        /* [in] */ BSTR theURL);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTimeoutInterval( 
-        /* [in] */ double timeoutInterval);
-    
-    virtual HRESULT STDMETHODCALLTYPE setURL( 
-        /* [in] */ BSTR theURL);
-    
-    virtual HRESULT STDMETHODCALLTYPE setValue( 
-        /* [in] */ BSTR value,
-        /* [in] */ BSTR field);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE addValue(_In_ BSTR value, _In_ BSTR field);
+    virtual HRESULT STDMETHODCALLTYPE setAllHTTPHeaderFields(_In_opt_ IPropertyBag*);
+    virtual HRESULT STDMETHODCALLTYPE setCachePolicy(WebURLRequestCachePolicy);
+    virtual HRESULT STDMETHODCALLTYPE setHTTPBody(_In_opt_ IStream*);
+    virtual HRESULT STDMETHODCALLTYPE setHTTPBodyStream(_In_opt_ IStream*);
+    virtual HRESULT STDMETHODCALLTYPE setHTTPMethod(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE setHTTPShouldHandleCookies(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setMainDocumentURL(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE setTimeoutInterval(double);
+    virtual HRESULT STDMETHODCALLTYPE setURL(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE setValue(_In_ BSTR value, _In_ BSTR field);
+    virtual HRESULT STDMETHODCALLTYPE setAllowsAnyHTTPSCertificate();
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAllowsAnyHTTPSCertificate(void);
-
</del><span class="cx">     // IWebMutableURLRequestPrivate
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setClientCertificate(ULONG_PTR);
</span><del>-
</del><span class="cx">     virtual /* [local] */ CFURLRequestRef STDMETHODCALLTYPE cfRequest();
</span><span class="cx"> 
</span><span class="cx">     // WebMutableURLRequest
</span><span class="lines">@@ -167,7 +106,7 @@
</span><span class="cx"> 
</span><span class="cx">     const WebCore::ResourceRequest&amp; resourceRequest() const;
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     bool m_isMutable;
</span><span class="cx">     WebCore::ResourceRequest m_request;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebNavigationDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebNavigationData.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebNavigationData.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebNavigationData.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2009, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -30,9 +30,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNavigationData::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebNavigationData::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebNavigationData*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebNavigationData))
</span><span class="lines">@@ -44,12 +46,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebNavigationData::AddRef(void)
</del><ins>+ULONG WebNavigationData::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebNavigationData::Release(void)
</del><ins>+ULONG WebNavigationData::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -61,8 +63,7 @@
</span><span class="cx"> // WebNavigationData -------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebNavigationData::WebNavigationData(const String&amp; url, const String&amp; title, IWebURLRequest* request, IWebURLResponse* response, bool hasSubstituteData, const String&amp; clientRedirectSource)
</span><del>-    : m_refCount(0)
-    , m_url(url)
</del><ins>+    : m_url(url)
</ins><span class="cx">     , m_title(title)
</span><span class="cx">     , m_request(request)
</span><span class="cx">     , m_response(response)
</span><span class="lines">@@ -89,7 +90,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebNavigationData -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebNavigationData::url(BSTR* url)
</del><ins>+HRESULT WebNavigationData::url(__deref_opt_out BSTR* url)
</ins><span class="cx"> {
</span><span class="cx">     if (!url)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -97,7 +98,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebNavigationData::title(BSTR* title)
</del><ins>+HRESULT WebNavigationData::title(__deref_opt_out BSTR* title)
</ins><span class="cx"> {
</span><span class="cx">     if (!title)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -105,7 +106,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebNavigationData::originalRequest(IWebURLRequest** request)
</del><ins>+HRESULT WebNavigationData::originalRequest(_COM_Outptr_opt_ IWebURLRequest** request)
</ins><span class="cx"> {
</span><span class="cx">     if (!request)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -114,7 +115,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebNavigationData::response(IWebURLResponse** response)
</del><ins>+HRESULT WebNavigationData::response(_COM_Outptr_opt_ IWebURLResponse** response)
</ins><span class="cx"> {
</span><span class="cx">     if (!response)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -123,7 +124,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebNavigationData::hasSubstituteData(BOOL* hasSubstituteData)
</del><ins>+HRESULT WebNavigationData::hasSubstituteData(_Out_ BOOL* hasSubstituteData)
</ins><span class="cx"> {
</span><span class="cx">     if (!hasSubstituteData)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -131,7 +132,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebNavigationData::clientRedirectSource(BSTR* clientRedirectSource)
</del><ins>+HRESULT WebNavigationData::clientRedirectSource(__deref_opt_out BSTR* clientRedirectSource)
</ins><span class="cx"> {
</span><span class="cx">     if (!clientRedirectSource)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebNavigationDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebNavigationData.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebNavigationData.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebNavigationData.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2009, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -40,31 +40,20 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebNavigationData
</span><del>-    virtual HRESULT STDMETHODCALLTYPE url(
-        /* [retval][out] */ BSTR*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE url(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE title(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE originalRequest(_COM_Outptr_opt_ IWebURLRequest**);
+    virtual HRESULT STDMETHODCALLTYPE response(_COM_Outptr_opt_ IWebURLResponse**);
+    virtual HRESULT STDMETHODCALLTYPE hasSubstituteData(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE clientRedirectSource(__deref_opt_out BSTR*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE title(
-        /* [retval][out] */ BSTR*);
-
-    virtual HRESULT STDMETHODCALLTYPE originalRequest(
-        /* [retval][out] */ IWebURLRequest**);
-
-    virtual HRESULT STDMETHODCALLTYPE response(
-        /* [retval][out] */ IWebURLResponse**);
-
-    virtual HRESULT STDMETHODCALLTYPE hasSubstituteData(
-        /* [retval][out] */ BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE clientRedirectSource(
-        /* [retval][out] */ BSTR*);
-
</del><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     WebCore::BString m_url;
</span><span class="cx">     WebCore::BString m_title;
</span><span class="cx">     COMPtr&lt;IWebURLRequest&gt; m_request;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebNotificationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebNotification.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebNotification.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebNotification.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -32,10 +32,8 @@
</span><span class="cx"> // WebNotification ------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebNotification::WebNotification(BSTR name, IUnknown* anObject, IPropertyBag* userInfo)
</span><del>-: m_refCount(0)
-, m_name(0)
-, m_anObject(anObject)
-, m_userInfo(userInfo)
</del><ins>+    : m_anObject(anObject)
+    , m_userInfo(userInfo)
</ins><span class="cx"> {
</span><span class="cx">     if (name)
</span><span class="cx">         m_name = SysAllocString(name);
</span><span class="lines">@@ -70,9 +68,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotification::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebNotification::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebNotification*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebNotification))
</span><span class="lines">@@ -84,12 +84,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebNotification::AddRef(void)
</del><ins>+ULONG WebNotification::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebNotification::Release(void)
</del><ins>+ULONG WebNotification::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -100,19 +100,18 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebNotification -----------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotification::notificationWithName( 
-    /* [in] */ BSTR /*aName*/,
-    /* [in] */ IUnknown* /*anObject*/,
-    /* [optional][in] */ IPropertyBag* /*userInfo*/)
</del><ins>+HRESULT WebNotification::notificationWithName(_In_ BSTR /*aName*/, _In_opt_ IUnknown* /*anObject*/, _In_opt_ IPropertyBag* /*userInfo*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotification::name( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebNotification::name(__deref_out_opt BSTR* result)
</ins><span class="cx"> {
</span><del>-    *result = 0;
</del><ins>+    if (!result)
+        return E_POINTER;
+
+    *result = nullptr;
</ins><span class="cx">     if (m_name) {
</span><span class="cx">         *result = SysAllocString(m_name);
</span><span class="cx">         if (!*result)
</span><span class="lines">@@ -122,9 +121,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotification::getObject( 
-    /* [retval][out] */ IUnknown** result)
</del><ins>+HRESULT WebNotification::getObject(_COM_Outptr_opt_ IUnknown** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     *result = m_anObject;
</span><span class="cx"> 
</span><span class="cx">     if (*result)
</span><span class="lines">@@ -133,9 +134,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotification::userInfo( 
-    /* [retval][out] */ IPropertyBag** result)
</del><ins>+HRESULT WebNotification::userInfo(_COM_Outptr_opt_ IPropertyBag** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     *result = m_userInfo;
</span><span class="cx"> 
</span><span class="cx">     if (*result)
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebNotificationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebNotification.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebNotification.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebNotification.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,28 +38,19 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebNotification
</span><del>-    virtual HRESULT STDMETHODCALLTYPE notificationWithName( 
-        /* [in] */ BSTR aName,
-        /* [in] */ IUnknown *anObject,
-        /* [optional][in] */ IPropertyBag *userInfo);
-    
-    virtual HRESULT STDMETHODCALLTYPE name( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE getObject( 
-        /* [retval][out] */ IUnknown **result);
-    
-    virtual HRESULT STDMETHODCALLTYPE userInfo( 
-        /* [retval][out] */ IPropertyBag **result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE notificationWithName(_In_ BSTR aName, _In_opt_ IUnknown* anObject, _In_opt_ IPropertyBag* userInfo);    
+    virtual HRESULT STDMETHODCALLTYPE name(__deref_out_opt BSTR* result);    
+    virtual HRESULT STDMETHODCALLTYPE getObject(_COM_Outptr_opt_ IUnknown** result);
+    virtual HRESULT STDMETHODCALLTYPE userInfo(_COM_Outptr_opt_ IPropertyBag ** result);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
-    BSTR m_name;
</del><ins>+    ULONG m_refCount { 0 };
+    BSTR m_name { nullptr };
</ins><span class="cx">     IUnknown* m_anObject;
</span><span class="cx">     IPropertyBag* m_userInfo;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebNotificationCentercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebNotificationCenter.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebNotificationCenter.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebNotificationCenter.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -53,8 +53,7 @@
</span><span class="cx"> IWebNotificationCenter* WebNotificationCenter::m_defaultCenter = 0;
</span><span class="cx"> 
</span><span class="cx"> WebNotificationCenter::WebNotificationCenter()
</span><del>-    : m_refCount(0)
-    , d(std::make_unique&lt;WebNotificationCenterPrivate&gt;())
</del><ins>+    : d(std::make_unique&lt;WebNotificationCenterPrivate&gt;())
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebNotificationCenter&quot;);
</span><span class="lines">@@ -75,9 +74,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotificationCenter::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebNotificationCenter::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebNotificationCenter*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebNotificationCenter))
</span><span class="lines">@@ -89,12 +90,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebNotificationCenter::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE WebNotificationCenter::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebNotificationCenter::Release(void)
</del><ins>+ULONG STDMETHODCALLTYPE WebNotificationCenter::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -132,18 +133,16 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebNotificationCenter -----------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotificationCenter::defaultCenter( 
-    /* [retval][out] */ IWebNotificationCenter** center)
</del><ins>+HRESULT WebNotificationCenter::defaultCenter(_COM_Outptr_opt_ IWebNotificationCenter** center)
</ins><span class="cx"> {
</span><ins>+    if (!center)
+        return E_POINTER;
</ins><span class="cx">     *center = defaultCenterInternal();
</span><span class="cx">     (*center)-&gt;AddRef();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotificationCenter::addObserver( 
-    /* [in] */ IWebNotificationObserver* observer,
-    /* [in] */ BSTR notificationName,
-    /* [in] */ IUnknown* anObject)
</del><ins>+HRESULT WebNotificationCenter::addObserver(_In_opt_ IWebNotificationObserver* observer, _In_ BSTR notificationName, _In_opt_ IUnknown* anObject)
</ins><span class="cx"> {
</span><span class="cx">     String name(notificationName, SysStringLen(notificationName));
</span><span class="cx">     MappedObservers::iterator it = d-&gt;m_mappedObservers.find(name);
</span><span class="lines">@@ -158,8 +157,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotificationCenter::postNotification( 
-    /* [in] */ IWebNotification* notification)
</del><ins>+HRESULT WebNotificationCenter::postNotification(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><span class="cx">     BString name;
</span><span class="cx">     HRESULT hr = notification-&gt;name(&amp;name);
</span><span class="lines">@@ -176,20 +174,14 @@
</span><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotificationCenter::postNotificationName( 
-    /* [in] */ BSTR notificationName,
-    /* [in] */ IUnknown* anObject,
-    /* [optional][in] */ IPropertyBag* userInfo)
</del><ins>+HRESULT WebNotificationCenter::postNotificationName(_In_ BSTR notificationName, _In_opt_ IUnknown* anObject, _In_opt_ IPropertyBag* userInfo)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebNotification&gt; notification(AdoptCOM, WebNotification::createInstance(notificationName, anObject, userInfo));
</span><span class="cx">     postNotificationInternal(notification.get(), notificationName, anObject);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebNotificationCenter::removeObserver( 
-    /* [in] */ IWebNotificationObserver* anObserver,
-    /* [in] */ BSTR notificationName,
-    /* [optional][in] */ IUnknown* anObject)
</del><ins>+HRESULT WebNotificationCenter::removeObserver(_In_opt_ IWebNotificationObserver* anObserver, _In_ BSTR notificationName, _In_opt_ IUnknown* anObject)
</ins><span class="cx"> {
</span><span class="cx">     String name(notificationName, SysStringLen(notificationName));
</span><span class="cx">     MappedObservers::iterator it = d-&gt;m_mappedObservers.find(name);
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebNotificationCenterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebNotificationCenter.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebNotificationCenter.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebNotificationCenter.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -40,38 +40,23 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebNotificationCenter
</span><del>-    virtual HRESULT STDMETHODCALLTYPE defaultCenter( 
-        /* [retval][out] */ IWebNotificationCenter **center);
-    
-    virtual HRESULT STDMETHODCALLTYPE addObserver( 
-        /* [in] */ IWebNotificationObserver *observer,
-        /* [in] */ BSTR notificationName,
-        /* [in] */ IUnknown *anObject);
-    
-    virtual HRESULT STDMETHODCALLTYPE postNotification( 
-        /* [in] */ IWebNotification *notification);
-    
-    virtual HRESULT STDMETHODCALLTYPE postNotificationName( 
-        /* [in] */ BSTR notificationName,
-        /* [in] */ IUnknown *anObject,
-        /* [optional][in] */ IPropertyBag *userInfo);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeObserver( 
-        /* [in] */ IWebNotificationObserver *anObserver,
-        /* [in] */ BSTR notificationName,
-        /* [optional][in] */ IUnknown *anObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE defaultCenter(_COM_Outptr_opt_ IWebNotificationCenter**);
+    virtual HRESULT STDMETHODCALLTYPE addObserver(_In_opt_ IWebNotificationObserver*, _In_ BSTR notificationName, _In_opt_ IUnknown* anObject);
+    virtual HRESULT STDMETHODCALLTYPE postNotification(_In_opt_ IWebNotification*);
+    virtual HRESULT STDMETHODCALLTYPE postNotificationName(_In_ BSTR notificationName, _In_opt_ IUnknown* anObject, _In_opt_ IPropertyBag* userInfo);
+    virtual HRESULT STDMETHODCALLTYPE removeObserver(_In_opt_ IWebNotificationObserver*, _In_ BSTR notificationName, _In_opt_ IUnknown* anObject);
</ins><span class="cx"> 
</span><span class="cx">     // WebNotificationCenter
</span><span class="cx">     static IWebNotificationCenter* defaultCenterInternal();
</span><span class="cx">     void postNotificationInternal(IWebNotification* notification, BSTR notificationName, IUnknown* anObject);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     std::unique_ptr&lt;WebNotificationCenterPrivate&gt; d;
</span><span class="cx">     static IWebNotificationCenter* m_defaultCenter;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebPreferencescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebPreferences.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebPreferences.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebPreferences.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -120,10 +120,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebPreferences::WebPreferences()
</span><del>-    : m_refCount(0)
-    , m_autoSaves(0)
-    , m_automaticallyDetectsCacheModel(true)
-    , m_numWebViews(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebPreferences&quot;);
</span><span class="lines">@@ -523,9 +519,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebPreferences::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebPreferences*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebPreferences))
</span><span class="lines">@@ -543,7 +541,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebPreferences::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE WebPreferences::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="lines">@@ -559,8 +557,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebPreferences ------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::standardPreferences( 
-    /* [retval][out] */ IWebPreferences** standardPreferences)
</del><ins>+HRESULT WebPreferences::standardPreferences(_COM_Outptr_opt_ IWebPreferences** standardPreferences)
</ins><span class="cx"> {
</span><span class="cx">     if (!standardPreferences)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -569,9 +566,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::initWithIdentifier( 
-        /* [in] */ BSTR anIdentifier,
-        /* [retval][out] */ IWebPreferences** preferences)
</del><ins>+HRESULT WebPreferences::initWithIdentifier(_In_ BSTR anIdentifier, _COM_Outptr_opt_ IWebPreferences** preferences)
</ins><span class="cx"> {
</span><span class="cx">     WebPreferences *instance = getInstanceForIdentifier(anIdentifier);
</span><span class="cx">     if (instance) {
</span><span class="lines">@@ -595,562 +590,561 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::identifier( 
-    /* [retval][out] */ BSTR* ident)
</del><ins>+HRESULT WebPreferences::identifier(__deref_opt_out BSTR* ident)
</ins><span class="cx"> {
</span><span class="cx">     if (!ident)
</span><span class="cx">         return E_POINTER;
</span><del>-    *ident = m_identifier ? SysAllocString(m_identifier) : 0;
</del><ins>+    *ident = m_identifier ? SysAllocString(m_identifier) : nullptr;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::standardFontFamily( 
-    /* [retval][out] */ BSTR* family)
</del><ins>+HRESULT WebPreferences::standardFontFamily(__deref_opt_out BSTR* family)
</ins><span class="cx"> {
</span><ins>+    if (!family)
+        return E_POINTER;
</ins><span class="cx">     *family = stringValueForKey(WebKitStandardFontPreferenceKey);
</span><span class="cx">     return (*family) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setStandardFontFamily( 
-    /* [in] */ BSTR family)
</del><ins>+HRESULT WebPreferences::setStandardFontFamily(_In_ BSTR family)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitStandardFontPreferenceKey, family);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::fixedFontFamily( 
-    /* [retval][out] */ BSTR* family)
</del><ins>+HRESULT WebPreferences::fixedFontFamily(__deref_opt_out BSTR* family)
</ins><span class="cx"> {
</span><ins>+    if (!family)
+        return E_POINTER;
</ins><span class="cx">     *family = stringValueForKey(WebKitFixedFontPreferenceKey);
</span><span class="cx">     return (*family) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setFixedFontFamily( 
-    /* [in] */ BSTR family)
</del><ins>+HRESULT WebPreferences::setFixedFontFamily(_In_ BSTR family)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitFixedFontPreferenceKey, family);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::serifFontFamily( 
-    /* [retval][out] */ BSTR* fontFamily)
</del><ins>+HRESULT WebPreferences::serifFontFamily(__deref_opt_out BSTR* fontFamily)
</ins><span class="cx"> {
</span><ins>+    if (!fontFamily)
+        return E_POINTER;
</ins><span class="cx">     *fontFamily = stringValueForKey(WebKitSerifFontPreferenceKey);
</span><span class="cx">     return (*fontFamily) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setSerifFontFamily( 
-    /* [in] */ BSTR family)
</del><ins>+HRESULT WebPreferences::setSerifFontFamily(_In_ BSTR family)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitSerifFontPreferenceKey, family);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::sansSerifFontFamily( 
-    /* [retval][out] */ BSTR* family)
</del><ins>+HRESULT WebPreferences::sansSerifFontFamily(__deref_opt_out BSTR* family)
</ins><span class="cx"> {
</span><ins>+    if (!family)
+        return E_POINTER;
</ins><span class="cx">     *family = stringValueForKey(WebKitSansSerifFontPreferenceKey);
</span><span class="cx">     return (*family) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setSansSerifFontFamily( 
-    /* [in] */ BSTR family)
</del><ins>+HRESULT WebPreferences::setSansSerifFontFamily(_In_ BSTR family)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitSansSerifFontPreferenceKey, family);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::cursiveFontFamily( 
-    /* [retval][out] */ BSTR* family)
</del><ins>+HRESULT WebPreferences::cursiveFontFamily(__deref_opt_out BSTR* family)
</ins><span class="cx"> {
</span><ins>+    if (!family)
+        return E_POINTER;
</ins><span class="cx">     *family = stringValueForKey(WebKitCursiveFontPreferenceKey);
</span><span class="cx">     return (*family) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setCursiveFontFamily( 
-    /* [in] */ BSTR family)
</del><ins>+HRESULT WebPreferences::setCursiveFontFamily(_In_ BSTR family)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitCursiveFontPreferenceKey, family);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::fantasyFontFamily( 
-    /* [retval][out] */ BSTR* family)
</del><ins>+HRESULT WebPreferences::fantasyFontFamily(__deref_opt_out BSTR* family)
</ins><span class="cx"> {
</span><ins>+    if (!family)
+        return E_POINTER;
</ins><span class="cx">     *family = stringValueForKey(WebKitFantasyFontPreferenceKey);
</span><span class="cx">     return (*family) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setFantasyFontFamily( 
-    /* [in] */ BSTR family)
</del><ins>+HRESULT WebPreferences::setFantasyFontFamily(_In_ BSTR family)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitFantasyFontPreferenceKey, family);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::pictographFontFamily( 
-    /* [retval][out] */ BSTR* family)
</del><ins>+HRESULT WebPreferences::pictographFontFamily(__deref_opt_out BSTR* family)
</ins><span class="cx"> {
</span><ins>+    if (!family)
+        return E_POINTER;
</ins><span class="cx">     *family = stringValueForKey(WebKitPictographFontPreferenceKey);
</span><span class="cx">     return (*family) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setPictographFontFamily( 
-    /* [in] */ BSTR family)
</del><ins>+HRESULT WebPreferences::setPictographFontFamily(_In_ BSTR family)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitPictographFontPreferenceKey, family);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::defaultFontSize( 
-    /* [retval][out] */ int* fontSize)
</del><ins>+HRESULT WebPreferences::defaultFontSize(_Out_  int* fontSize)
</ins><span class="cx"> {
</span><ins>+    if (!fontSize)
+        return E_POINTER;
</ins><span class="cx">     *fontSize = integerValueForKey(WebKitDefaultFontSizePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setDefaultFontSize( 
-    /* [in] */ int fontSize)
</del><ins>+HRESULT WebPreferences::setDefaultFontSize(int fontSize)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitDefaultFontSizePreferenceKey, fontSize);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::defaultFixedFontSize( 
-    /* [retval][out] */ int* fontSize)
</del><ins>+HRESULT WebPreferences::defaultFixedFontSize(_Out_ int* fontSize)
</ins><span class="cx"> {
</span><ins>+    if (!fontSize)
+        return E_POINTER;
</ins><span class="cx">     *fontSize = integerValueForKey(WebKitDefaultFixedFontSizePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setDefaultFixedFontSize( 
-    /* [in] */ int fontSize)
</del><ins>+HRESULT WebPreferences::setDefaultFixedFontSize(int fontSize)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitDefaultFixedFontSizePreferenceKey, fontSize);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::minimumFontSize( 
-    /* [retval][out] */ int* fontSize)
</del><ins>+HRESULT WebPreferences::minimumFontSize(_Out_ int* fontSize)
</ins><span class="cx"> {
</span><ins>+    if (!fontSize)
+        return E_POINTER;
</ins><span class="cx">     *fontSize = integerValueForKey(WebKitMinimumFontSizePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setMinimumFontSize( 
-    /* [in] */ int fontSize)
</del><ins>+HRESULT WebPreferences::setMinimumFontSize(int fontSize)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitMinimumFontSizePreferenceKey, fontSize);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::minimumLogicalFontSize( 
-    /* [retval][out] */ int* fontSize)
</del><ins>+HRESULT WebPreferences::minimumLogicalFontSize(_Out_ int* fontSize)
</ins><span class="cx"> {
</span><ins>+    if (!fontSize)
+        return E_POINTER;
</ins><span class="cx">     *fontSize = integerValueForKey(WebKitMinimumLogicalFontSizePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setMinimumLogicalFontSize( 
-    /* [in] */ int fontSize)
</del><ins>+HRESULT WebPreferences::setMinimumLogicalFontSize(int fontSize)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitMinimumLogicalFontSizePreferenceKey, fontSize);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::defaultTextEncodingName( 
-    /* [retval][out] */ BSTR* name)
</del><ins>+HRESULT WebPreferences::defaultTextEncodingName(__deref_opt_out BSTR* name)
</ins><span class="cx"> {
</span><ins>+    if (!name)
+        return E_POINTER;
</ins><span class="cx">     *name = stringValueForKey(WebKitDefaultTextEncodingNamePreferenceKey);
</span><span class="cx">     return (*name) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setDefaultTextEncodingName( 
-    /* [in] */ BSTR name)
</del><ins>+HRESULT WebPreferences::setDefaultTextEncodingName(_In_ BSTR name)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitDefaultTextEncodingNamePreferenceKey, name);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::userStyleSheetEnabled( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::userStyleSheetEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitUserStyleSheetEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setUserStyleSheetEnabled( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setUserStyleSheetEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitUserStyleSheetEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::userStyleSheetLocation( 
-    /* [retval][out] */ BSTR* location)
</del><ins>+HRESULT WebPreferences::userStyleSheetLocation(__deref_opt_out BSTR* location)
</ins><span class="cx"> {
</span><ins>+    if (!location)
+        return E_POINTER;
</ins><span class="cx">     *location = stringValueForKey(WebKitUserStyleSheetLocationPreferenceKey);
</span><span class="cx">     return (*location) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setUserStyleSheetLocation( 
-    /* [in] */ BSTR location)
</del><ins>+HRESULT WebPreferences::setUserStyleSheetLocation(_In_ BSTR location)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitUserStyleSheetLocationPreferenceKey, location);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::isJavaEnabled( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isJavaEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitJavaEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaEnabled( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setJavaEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitJavaEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::isJavaScriptEnabled( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isJavaScriptEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitJavaScriptEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptEnabled( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setJavaScriptEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitJavaScriptEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptRuntimeFlags(
-    /* [retval][out] */ unsigned* flags)
</del><ins>+HRESULT WebPreferences::javaScriptRuntimeFlags(_Out_ unsigned* flags)
</ins><span class="cx"> {
</span><ins>+    if (!flags)
+        return E_POINTER;
</ins><span class="cx">     *flags = static_cast&lt;unsigned&gt;(integerValueForKey(WebKitJavaScriptRuntimeFlagsPreferenceKey));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptRuntimeFlags(
-    /* [in] */ unsigned flags)
</del><ins>+HRESULT WebPreferences::setJavaScriptRuntimeFlags(unsigned flags)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitJavaScriptRuntimeFlagsPreferenceKey, static_cast&lt;int&gt;(flags));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::isWebSecurityEnabled(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isWebSecurityEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitWebSecurityEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setWebSecurityEnabled( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setWebSecurityEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitWebSecurityEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::allowUniversalAccessFromFileURLs(
-    /* [retval][out] */ BOOL* allowAccess)
</del><ins>+HRESULT WebPreferences::allowUniversalAccessFromFileURLs(_Out_ BOOL* allowAccess)
</ins><span class="cx"> {
</span><ins>+    if (!allowAccess)
+        return E_POINTER;
</ins><span class="cx">     *allowAccess = boolValueForKey(WebKitAllowUniversalAccessFromFileURLsPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowUniversalAccessFromFileURLs(
-    /* [in] */ BOOL allowAccess)
</del><ins>+HRESULT WebPreferences::setAllowUniversalAccessFromFileURLs(BOOL allowAccess)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitAllowUniversalAccessFromFileURLsPreferenceKey, allowAccess);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::allowFileAccessFromFileURLs(
-    /* [retval][out] */ BOOL* allowAccess)
</del><ins>+HRESULT WebPreferences::allowFileAccessFromFileURLs(_Out_ BOOL* allowAccess)
</ins><span class="cx"> {
</span><ins>+    if (!allowAccess)
+        return E_POINTER;
</ins><span class="cx">     *allowAccess = boolValueForKey(WebKitAllowFileAccessFromFileURLsPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowFileAccessFromFileURLs(
-    /* [in] */ BOOL allowAccess)
</del><ins>+HRESULT WebPreferences::setAllowFileAccessFromFileURLs(BOOL allowAccess)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitAllowFileAccessFromFileURLsPreferenceKey, allowAccess);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptCanAccessClipboard(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::javaScriptCanAccessClipboard(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitJavaScriptCanAccessClipboardPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptCanAccessClipboard(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setJavaScriptCanAccessClipboard(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitJavaScriptCanAccessClipboardPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::isXSSAuditorEnabled(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isXSSAuditorEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitXSSAuditorEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setXSSAuditorEnabled(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setXSSAuditorEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitXSSAuditorEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::isFrameFlatteningEnabled(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isFrameFlatteningEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitFrameFlatteningEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setFrameFlatteningEnabled(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setFrameFlatteningEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitFrameFlatteningEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptCanOpenWindowsAutomatically( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::javaScriptCanOpenWindowsAutomatically(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptCanOpenWindowsAutomatically( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setJavaScriptCanOpenWindowsAutomatically(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::arePlugInsEnabled( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::arePlugInsEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitPluginsEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setPlugInsEnabled( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setPlugInsEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitPluginsEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::isCSSRegionsEnabled(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isCSSRegionsEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitCSSRegionsEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setCSSRegionsEnabled(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setCSSRegionsEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitCSSRegionsEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::allowsAnimatedImages( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::allowsAnimatedImages(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitAllowAnimatedImagesPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowsAnimatedImages( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setAllowsAnimatedImages(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitAllowAnimatedImagesPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::allowAnimatedImageLooping( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::allowAnimatedImageLooping(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitAllowAnimatedImageLoopingPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowAnimatedImageLooping( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setAllowAnimatedImageLooping(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitAllowAnimatedImageLoopingPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setLoadsImagesAutomatically( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setLoadsImagesAutomatically(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitDisplayImagesKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::loadsImagesAutomatically( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::loadsImagesAutomatically(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitDisplayImagesKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setLoadsSiteIconsIgnoringImageLoadingPreference(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setLoadsSiteIconsIgnoringImageLoadingPreference(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitLoadSiteIconsKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::loadsSiteIconsIgnoringImageLoadingPreference(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::loadsSiteIconsIgnoringImageLoadingPreference(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitLoadSiteIconsKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setHixie76WebSocketProtocolEnabled(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setHixie76WebSocketProtocolEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::hixie76WebSocketProtocolEnabled(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::hixie76WebSocketProtocolEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = false;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setMediaPlaybackRequiresUserGesture(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setMediaPlaybackRequiresUserGesture(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitMediaPlaybackRequiresUserGesturePreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::mediaPlaybackRequiresUserGesture(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::mediaPlaybackRequiresUserGesture(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitMediaPlaybackRequiresUserGesturePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setMediaPlaybackAllowsInline(
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setMediaPlaybackAllowsInline(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitMediaPlaybackAllowsInlinePreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::mediaPlaybackAllowsInline(
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::mediaPlaybackAllowsInline(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitMediaPlaybackAllowsInlinePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setAutosaves( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setAutosaves(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     m_autoSaves = !!enabled;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::autosaves( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::autosaves(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = m_autoSaves ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setShouldPrintBackgrounds( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setShouldPrintBackgrounds(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitShouldPrintBackgroundsPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::shouldPrintBackgrounds( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::shouldPrintBackgrounds(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitShouldPrintBackgroundsPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setPrivateBrowsingEnabled( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setPrivateBrowsingEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitPrivateBrowsingEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::privateBrowsingEnabled( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::privateBrowsingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitPrivateBrowsingEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setTabsToLinks( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setTabsToLinks(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitTabToLinksPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::tabsToLinks( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::tabsToLinks(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx">     *enabled = boolValueForKey(WebKitTabToLinksPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setUsesPageCache( 
-        /* [in] */ BOOL usesPageCache)
</del><ins>+HRESULT WebPreferences::setUsesPageCache(BOOL usesPageCache)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitUsesPageCachePreferenceKey, usesPageCache);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::usesPageCache( 
-    /* [retval][out] */ BOOL* usesPageCache)
</del><ins>+HRESULT WebPreferences::usesPageCache(_Out_ BOOL* usesPageCache)
</ins><span class="cx"> {
</span><ins>+    if (!usesPageCache)
+        return E_POINTER;
</ins><span class="cx">     *usesPageCache = boolValueForKey(WebKitUsesPageCachePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::textAreasAreResizable( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::textAreasAreResizable(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitTextAreasAreResizablePreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setTextAreasAreResizable( 
-    /* [in] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setTextAreasAreResizable(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitTextAreasAreResizablePreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::historyItemLimit(int* limit)
</del><ins>+HRESULT WebPreferences::historyItemLimit(_Out_ int* limit)
</ins><span class="cx"> {
</span><ins>+    if (!limit)
+        return E_POINTER;
</ins><span class="cx">     *limit = integerValueForKey(WebKitHistoryItemLimitKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1161,8 +1155,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::historyAgeInDaysLimit(int* limit)
</del><ins>+HRESULT WebPreferences::historyAgeInDaysLimit(_Out_ int* limit)
</ins><span class="cx"> {
</span><ins>+    if (!limit)
+        return E_POINTER;
</ins><span class="cx">     *limit = integerValueForKey(WebKitHistoryAgeInDaysLimitKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1185,41 +1181,43 @@
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::iconDatabaseLocation(
-    /* [out] */ BSTR* location)
</del><ins>+HRESULT WebPreferences::iconDatabaseLocation(__deref_opt_out BSTR* location)
</ins><span class="cx"> {
</span><ins>+    if (!location)
+        return E_POINTER;
</ins><span class="cx">     *location = stringValueForKey(WebKitIconDatabaseLocationKey);
</span><span class="cx">     return (*location) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::setIconDatabaseLocation(
-    /* [in] */ BSTR location)
</del><ins>+HRESULT WebPreferences::setIconDatabaseLocation(_In_ BSTR location)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitIconDatabaseLocationKey, location);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::iconDatabaseEnabled(BOOL* enabled)//location)
</del><ins>+HRESULT WebPreferences::iconDatabaseEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitIconDatabaseEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::setIconDatabaseEnabled(BOOL enabled )//location)
</del><ins>+HRESULT WebPreferences::setIconDatabaseEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitIconDatabaseEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::fontSmoothing( 
-    /* [retval][out] */ FontSmoothingType* smoothingType)
</del><ins>+HRESULT WebPreferences::fontSmoothing(_Out_ FontSmoothingType* smoothingType)
</ins><span class="cx"> {
</span><ins>+    if (!smoothingType)
+        return E_POINTER;
</ins><span class="cx">     *smoothingType = static_cast&lt;FontSmoothingType&gt;(integerValueForKey(WebKitFontSmoothingTypePreferenceKey));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setFontSmoothing( 
-    /* [in] */ FontSmoothingType smoothingType)
</del><ins>+HRESULT WebPreferences::setFontSmoothing(FontSmoothingType smoothingType)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitFontSmoothingTypePreferenceKey, smoothingType);
</span><span class="cx">     if (smoothingType == FontSmoothingTypeWindows)
</span><span class="lines">@@ -1230,15 +1228,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::fontSmoothingContrast( 
-    /* [retval][out] */ float* contrast)
</del><ins>+HRESULT WebPreferences::fontSmoothingContrast(_Out_ float* contrast)
</ins><span class="cx"> {
</span><ins>+    if (!contrast)
+        return E_POINTER;
</ins><span class="cx">     *contrast = floatValueForKey(WebKitFontSmoothingContrastPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setFontSmoothingContrast( 
-    /* [in] */ float contrast)
</del><ins>+HRESULT WebPreferences::setFontSmoothingContrast(float contrast)
</ins><span class="cx"> {
</span><span class="cx">     setFloatValue(WebKitFontSmoothingContrastPreferenceKey, contrast);
</span><span class="cx"> #if USE(CG)
</span><span class="lines">@@ -1247,9 +1245,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::editableLinkBehavior(
-    /* [out, retval] */ WebKitEditableLinkBehavior* editableLinkBehavior)
</del><ins>+HRESULT WebPreferences::editableLinkBehavior(_Out_ WebKitEditableLinkBehavior* editableLinkBehavior)
</ins><span class="cx"> {
</span><ins>+    if (!editableLinkBehavior)
+        return E_POINTER;
</ins><span class="cx">     WebKitEditableLinkBehavior value = static_cast&lt;WebKitEditableLinkBehavior&gt;(integerValueForKey(WebKitEditableLinkBehaviorPreferenceKey));
</span><span class="cx">     switch (value) {
</span><span class="cx">         case WebKitEditableLinkDefaultBehavior:
</span><span class="lines">@@ -1266,8 +1265,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setEditableLinkBehavior(
-    /* [in] */ WebKitEditableLinkBehavior behavior)
</del><ins>+HRESULT WebPreferences::setEditableLinkBehavior(WebKitEditableLinkBehavior behavior)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitEditableLinkBehaviorPreferenceKey, behavior);
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -1285,8 +1283,10 @@
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::mockScrollbarsEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::mockScrollbarsEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitMockScrollbarsEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1299,8 +1299,11 @@
</span><span class="cx"> 
</span><span class="cx"> // These two methods are no-ops, and only retained to keep
</span><span class="cx"> // the Interface consistent. DO NOT USE THEM.
</span><del>-HRESULT WebPreferences::screenFontSubstitutionEnabled(BOOL*)
</del><ins>+HRESULT WebPreferences::screenFontSubstitutionEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+    enabled = false;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1309,22 +1312,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::hyperlinkAuditingEnabled(
-    /* [in] */ BOOL* enabled)
</del><ins>+HRESULT WebPreferences::hyperlinkAuditingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitHyperlinkAuditingEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setHyperlinkAuditingEnabled(
-    /* [retval][out] */ BOOL enabled)
</del><ins>+HRESULT WebPreferences::setHyperlinkAuditingEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitHyperlinkAuditingEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::cookieStorageAcceptPolicy( 
-        /* [retval][out] */ WebKitCookieStorageAcceptPolicy *acceptPolicy )
</del><ins>+HRESULT WebPreferences::cookieStorageAcceptPolicy(_Out_ WebKitCookieStorageAcceptPolicy* acceptPolicy)
</ins><span class="cx"> {
</span><span class="cx">     if (!acceptPolicy)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1333,16 +1335,17 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setCookieStorageAcceptPolicy( 
-        /* [in] */ WebKitCookieStorageAcceptPolicy acceptPolicy)
</del><ins>+HRESULT WebPreferences::setCookieStorageAcceptPolicy(WebKitCookieStorageAcceptPolicy acceptPolicy)
</ins><span class="cx"> {
</span><span class="cx">     setIntegerValue(WebKitCookieStorageAcceptPolicyPreferenceKey, acceptPolicy);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::continuousSpellCheckingEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::continuousSpellCheckingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebContinuousSpellCheckingEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1353,8 +1356,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::grammarCheckingEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::grammarCheckingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebGrammarCheckingEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1365,8 +1370,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::allowContinuousSpellChecking(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::allowContinuousSpellChecking(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(AllowContinuousSpellCheckingPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1389,8 +1396,10 @@
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::isDOMPasteAllowed(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isDOMPasteAllowed(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitDOMPasteAllowedPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1401,7 +1410,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::cacheModel(WebCacheModel* cacheModel)
</del><ins>+HRESULT WebPreferences::cacheModel(_Out_ WebCacheModel* cacheModel)
</ins><span class="cx"> {
</span><span class="cx">     if (!cacheModel)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1430,8 +1439,11 @@
</span><span class="cx"> 
</span><span class="cx"> // These two methods are no-ops, and only retained to keep
</span><span class="cx"> // the Interface consistent. DO NOT USE THEM.
</span><del>-HRESULT WebPreferences::shouldPaintNativeControls(BOOL*)
</del><ins>+HRESULT WebPreferences::shouldPaintNativeControls(_Out_ BOOL* enable)
</ins><span class="cx"> {
</span><ins>+    if (!enable)
+        return E_POINTER;
+    *enable = FALSE;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1446,7 +1458,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::developerExtrasEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::developerExtrasEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!enabled)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1466,7 +1478,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::automaticallyDetectsCacheModel(BOOL* automaticallyDetectsCacheModel)
</del><ins>+HRESULT WebPreferences::automaticallyDetectsCacheModel(_Out_ BOOL* automaticallyDetectsCacheModel)
</ins><span class="cx"> {
</span><span class="cx">     if (!automaticallyDetectsCacheModel)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1475,13 +1487,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setAuthorAndUserStylesEnabled(BOOL enabled)
</del><ins>+HRESULT WebPreferences::setAuthorAndUserStylesEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitAuthorAndUserStylesEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::authorAndUserStylesEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::authorAndUserStylesEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!enabled)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1492,8 +1504,11 @@
</span><span class="cx"> 
</span><span class="cx"> // These two methods are no-ops, and only retained to keep
</span><span class="cx"> // the Interface consistent. DO NOT USE THEM.
</span><del>-HRESULT WebPreferences::inApplicationChromeMode(BOOL*)
</del><ins>+HRESULT WebPreferences::inApplicationChromeMode(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+    *enabled = FALSE;
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1502,62 +1517,72 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setOfflineWebApplicationCacheEnabled(BOOL enabled)
</del><ins>+HRESULT WebPreferences::setOfflineWebApplicationCacheEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitOfflineWebApplicationCacheEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::offlineWebApplicationCacheEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::offlineWebApplicationCacheEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitOfflineWebApplicationCacheEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setDatabasesEnabled(BOOL enabled)
</del><ins>+HRESULT WebPreferences::setDatabasesEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitDatabasesEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::databasesEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::databasesEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitDatabasesEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setLocalStorageEnabled(BOOL enabled)
</del><ins>+HRESULT WebPreferences::setLocalStorageEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitLocalStorageEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::localStorageEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::localStorageEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitLocalStorageEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::localStorageDatabasePath(BSTR* location)
</del><ins>+HRESULT WebPreferences::localStorageDatabasePath(__deref_opt_out BSTR* location)
</ins><span class="cx"> {
</span><ins>+    if (!location)
+        return E_POINTER;
</ins><span class="cx">     *location = stringValueForKey(WebKitLocalStorageDatabasePathPreferenceKey);
</span><span class="cx">     return (*location) ? S_OK : E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setLocalStorageDatabasePath(BSTR location)
</del><ins>+HRESULT WebPreferences::setLocalStorageDatabasePath(_In_ BSTR location)
</ins><span class="cx"> {
</span><span class="cx">     setStringValue(WebKitLocalStorageDatabasePathPreferenceKey, location);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setExperimentalNotificationsEnabled(BOOL enabled)
</del><ins>+HRESULT WebPreferences::setExperimentalNotificationsEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitExperimentalNotificationsEnabledPreferenceKey, enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::experimentalNotificationsEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::experimentalNotificationsEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitExperimentalNotificationsEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1568,25 +1593,29 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::zoomsTextOnly(BOOL* zoomsTextOnly)
</del><ins>+HRESULT WebPreferences::zoomsTextOnly(_Out_ BOOL* zoomsTextOnly)
</ins><span class="cx"> {
</span><ins>+    if (!zoomsTextOnly)
+        return E_POINTER;
</ins><span class="cx">     *zoomsTextOnly = boolValueForKey(WebKitZoomsTextOnlyPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::setShouldUseHighResolutionTimers(BOOL useHighResolutionTimers)
</del><ins>+HRESULT WebPreferences::setShouldUseHighResolutionTimers(BOOL useHighResolutionTimers)
</ins><span class="cx"> {
</span><span class="cx">     setBoolValue(WebKitUseHighResolutionTimersPreferenceKey, useHighResolutionTimers);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::shouldUseHighResolutionTimers(BOOL* useHighResolutionTimers)
</del><ins>+HRESULT WebPreferences::shouldUseHighResolutionTimers(_Out_ BOOL* useHighResolutionTimers)
</ins><span class="cx"> {
</span><ins>+    if (!useHighResolutionTimers)
+        return E_POINTER;
</ins><span class="cx">     *useHighResolutionTimers = boolValueForKey(WebKitUseHighResolutionTimersPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::setPreferenceForTest(BSTR key, BSTR value)
</del><ins>+HRESULT WebPreferences::setPreferenceForTest(_In_ BSTR key, _In_ BSTR value)
</ins><span class="cx"> {
</span><span class="cx">     if (!SysStringLen(key) || !SysStringLen(value))
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -1603,8 +1632,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::acceleratedCompositingEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::acceleratedCompositingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx"> #if USE(CA)
</span><span class="cx">     *enabled = CACFLayerTreeHost::acceleratedCompositingAvailable() &amp;&amp; boolValueForKey(WebKitAcceleratedCompositingEnabledPreferenceKey);
</span><span class="cx"> #else
</span><span class="lines">@@ -1614,8 +1645,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::showDebugBorders(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::showDebugBorders(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitShowDebugBordersPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1626,8 +1659,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::showRepaintCounter(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::showRepaintCounter(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitShowRepaintCounterPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1644,8 +1679,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::customDragCursorsEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::customDragCursorsEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitCustomDragCursorsEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1656,13 +1693,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::isDNSPrefetchingEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isDNSPrefetchingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitDNSPrefetchingEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::isFullScreenEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isFullScreenEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(FULLSCREEN_API)
</span><span class="cx">     if (!enabled)
</span><span class="lines">@@ -1685,7 +1724,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::avFoundationEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::avFoundationEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx"> #if USE(AVFOUNDATION)
</span><span class="cx">     if (!enabled)
</span><span class="lines">@@ -1708,7 +1747,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::showsToolTipOverTruncatedText(BOOL* showsToolTip)
</del><ins>+HRESULT WebPreferences::showsToolTipOverTruncatedText(_Out_ BOOL* showsToolTip)
</ins><span class="cx"> {
</span><span class="cx">     if (!showsToolTip)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1723,7 +1762,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::shouldInvertColors(BOOL* shouldInvertColors)
</del><ins>+HRESULT WebPreferences::shouldInvertColors(_Out_ BOOL* shouldInvertColors)
</ins><span class="cx"> {
</span><span class="cx">     if (!shouldInvertColors)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -1752,7 +1791,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::shouldDisplaySubtitles(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::shouldDisplaySubtitles(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx">     if (!enabled)
</span><span class="lines">@@ -1775,7 +1814,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::shouldDisplayCaptions(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::shouldDisplayCaptions(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx">     if (!enabled)
</span><span class="lines">@@ -1798,7 +1837,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::shouldDisplayTextDescriptions(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::shouldDisplayTextDescriptions(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx">     if (!enabled)
</span><span class="lines">@@ -1827,14 +1866,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::requestAnimationFrameEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::requestAnimationFrameEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitRequestAnimationFrameEnabledPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::isInheritURIQueryComponentEnabled(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::isInheritURIQueryComponentEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitEnableInheritURIQueryComponentPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -1845,8 +1888,10 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebPreferences::allowDisplayAndRunningOfInsecureContent(BOOL* enabled)
</del><ins>+HRESULT WebPreferences::allowDisplayAndRunningOfInsecureContent(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
</ins><span class="cx">     *enabled = boolValueForKey(WebKitAllowDisplayAndRunningOfInsecureContentPreferenceKey);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebPreferencesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebPreferences.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebPreferences.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebPreferences.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007, 2008, 2009, 2015 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2009, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -40,457 +40,194 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebPreferences
</span><del>-    virtual HRESULT STDMETHODCALLTYPE standardPreferences( 
-        /* [retval][out] */ IWebPreferences** standardPreferences);
-    
-    virtual HRESULT STDMETHODCALLTYPE initWithIdentifier( 
-        /* [in] */ BSTR anIdentifier,
-        /* [retval][out] */ IWebPreferences** preferences);
-    
-    virtual HRESULT STDMETHODCALLTYPE identifier( 
-        /* [retval][out] */ BSTR* ident);
-    
-    virtual HRESULT STDMETHODCALLTYPE standardFontFamily( 
-        /* [retval][out] */ BSTR* family);
-    
-    virtual HRESULT STDMETHODCALLTYPE setStandardFontFamily( 
-        /* [in] */ BSTR family);
-    
-    virtual HRESULT STDMETHODCALLTYPE fixedFontFamily( 
-        /* [retval][out] */ BSTR* family);
-    
-    virtual HRESULT STDMETHODCALLTYPE setFixedFontFamily( 
-        /* [in] */ BSTR family);
-    
-    virtual HRESULT STDMETHODCALLTYPE serifFontFamily( 
-        /* [retval][out] */ BSTR* fontFamily);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSerifFontFamily( 
-        /* [in] */ BSTR family);
-    
-    virtual HRESULT STDMETHODCALLTYPE sansSerifFontFamily( 
-        /* [retval][out] */ BSTR* family);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSansSerifFontFamily( 
-        /* [in] */ BSTR family);
-    
-    virtual HRESULT STDMETHODCALLTYPE cursiveFontFamily( 
-        /* [retval][out] */ BSTR* family);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCursiveFontFamily( 
-        /* [in] */ BSTR family);
-    
-    virtual HRESULT STDMETHODCALLTYPE fantasyFontFamily( 
-        /* [retval][out] */ BSTR* family);
-    
-    virtual HRESULT STDMETHODCALLTYPE setFantasyFontFamily( 
-        /* [in] */ BSTR family);
-    
-    virtual HRESULT STDMETHODCALLTYPE pictographFontFamily( 
-        /* [retval][out] */ BSTR* family);
-    
-    virtual HRESULT STDMETHODCALLTYPE setPictographFontFamily( 
-        /* [in] */ BSTR family);
-    
-    virtual HRESULT STDMETHODCALLTYPE defaultFontSize( 
-        /* [retval][out] */ int* fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDefaultFontSize( 
-        /* [in] */ int fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE defaultFixedFontSize( 
-        /* [retval][out] */ int* fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDefaultFixedFontSize( 
-        /* [in] */ int fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE minimumFontSize( 
-        /* [retval][out] */ int* fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMinimumFontSize( 
-        /* [in] */ int fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE minimumLogicalFontSize( 
-        /* [retval][out] */ int* fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMinimumLogicalFontSize( 
-        /* [in] */ int fontSize);
-    
-    virtual HRESULT STDMETHODCALLTYPE defaultTextEncodingName( 
-        /* [retval][out] */ BSTR* name);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDefaultTextEncodingName( 
-        /* [in] */ BSTR name);
-    
-    virtual HRESULT STDMETHODCALLTYPE userStyleSheetEnabled( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetEnabled( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE userStyleSheetLocation( 
-        /* [retval][out] */ BSTR* location);
-    
-    virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetLocation( 
-        /* [in] */ BSTR location);
-    
-    virtual HRESULT STDMETHODCALLTYPE isJavaEnabled( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setJavaEnabled( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE isJavaScriptEnabled( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setJavaScriptEnabled( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE javaScriptCanOpenWindowsAutomatically( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanOpenWindowsAutomatically( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE arePlugInsEnabled( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setPlugInsEnabled( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE isCSSRegionsEnabled(
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCSSRegionsEnabled(
-        /* [in] */ BOOL);
-    
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE standardPreferences(_COM_Outptr_opt_ IWebPreferences**);
+    virtual HRESULT STDMETHODCALLTYPE initWithIdentifier(_In_ BSTR, _COM_Outptr_opt_ IWebPreferences**);
+    virtual HRESULT STDMETHODCALLTYPE identifier(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE standardFontFamily(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setStandardFontFamily(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE fixedFontFamily(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setFixedFontFamily(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE serifFontFamily(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setSerifFontFamily(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE sansSerifFontFamily(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setSansSerifFontFamily(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE cursiveFontFamily(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setCursiveFontFamily(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE fantasyFontFamily(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setFantasyFontFamily(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE pictographFontFamily(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setPictographFontFamily(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE defaultFontSize(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setDefaultFontSize(int);
+    virtual HRESULT STDMETHODCALLTYPE defaultFixedFontSize(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setDefaultFixedFontSize(int);
+    virtual HRESULT STDMETHODCALLTYPE minimumFontSize(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setMinimumFontSize(int);
+    virtual HRESULT STDMETHODCALLTYPE minimumLogicalFontSize(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE setMinimumLogicalFontSize(int);
+    virtual HRESULT STDMETHODCALLTYPE defaultTextEncodingName(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setDefaultTextEncodingName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE userStyleSheetEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE userStyleSheetLocation(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetLocation(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE isJavaEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setJavaEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isJavaScriptEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setJavaScriptEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE javaScriptCanOpenWindowsAutomatically(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanOpenWindowsAutomatically(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE arePlugInsEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setPlugInsEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isCSSRegionsEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setCSSRegionsEnabled(BOOL);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused7();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused8();
</span><del>-    
-    virtual HRESULT STDMETHODCALLTYPE allowsAnimatedImages( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAllowsAnimatedImages( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE allowAnimatedImageLooping( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAllowAnimatedImageLooping( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setLoadsImagesAutomatically( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE loadsImagesAutomatically( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAutosaves( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE autosaves( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setShouldPrintBackgrounds( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldPrintBackgrounds( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setPrivateBrowsingEnabled( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE privateBrowsingEnabled( 
-        /* [retval][out] */ BOOL* enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTabsToLinks( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE tabsToLinks( 
-        /* [retval][out] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE textAreasAreResizable( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTextAreasAreResizable( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE usesPageCache( 
-        /* [retval][out] */ BOOL *usesPageCache);
-
-    virtual HRESULT STDMETHODCALLTYPE setUsesPageCache( 
-        /* [in] */ BOOL usesPageCache);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE allowsAnimatedImages(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAllowsAnimatedImages(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE allowAnimatedImageLooping(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAllowAnimatedImageLooping(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setLoadsImagesAutomatically(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE loadsImagesAutomatically(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAutosaves(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE autosaves(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setShouldPrintBackgrounds(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE shouldPrintBackgrounds(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setPrivateBrowsingEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE privateBrowsingEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setTabsToLinks(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE tabsToLinks(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE textAreasAreResizable(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setTextAreasAreResizable(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE usesPageCache(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setUsesPageCache(BOOL);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused1();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused2();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE iconDatabaseLocation(
-        /* [retval][out] */ BSTR* location);
-
-    virtual HRESULT STDMETHODCALLTYPE setIconDatabaseLocation(
-        /* [in] */ BSTR location);
-
-    virtual HRESULT STDMETHODCALLTYPE iconDatabaseEnabled(
-        /* [retval][out] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setIconDatabaseEnabled(
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE fontSmoothing( 
-        /* [retval][out] */ FontSmoothingType* smoothingType);
-    
-    virtual HRESULT STDMETHODCALLTYPE setFontSmoothing( 
-        /* [in] */ FontSmoothingType smoothingType);
-
-    virtual HRESULT STDMETHODCALLTYPE editableLinkBehavior( 
-        /* [retval][out] */ WebKitEditableLinkBehavior* behavior);
-    
-    virtual HRESULT STDMETHODCALLTYPE setEditableLinkBehavior( 
-        /* [in] */ WebKitEditableLinkBehavior behavior);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE iconDatabaseLocation(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setIconDatabaseLocation(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE iconDatabaseEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setIconDatabaseEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE fontSmoothing(_Out_ FontSmoothingType*);
+    virtual HRESULT STDMETHODCALLTYPE setFontSmoothing(FontSmoothingType);
+    virtual HRESULT STDMETHODCALLTYPE editableLinkBehavior(_Out_ WebKitEditableLinkBehavior*);
+    virtual HRESULT STDMETHODCALLTYPE setEditableLinkBehavior(WebKitEditableLinkBehavior);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused5();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused6();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE cookieStorageAcceptPolicy( 
-        /* [retval][out] */ WebKitCookieStorageAcceptPolicy *acceptPolicy);
-        
-    virtual HRESULT STDMETHODCALLTYPE setCookieStorageAcceptPolicy( 
-        /* [in] */ WebKitCookieStorageAcceptPolicy acceptPolicy);
-
-    virtual HRESULT STDMETHODCALLTYPE continuousSpellCheckingEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setContinuousSpellCheckingEnabled( 
-        /* [in] */ BOOL enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE grammarCheckingEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE allowContinuousSpellChecking( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setAllowContinuousSpellChecking( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE isDOMPasteAllowed( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDOMPasteAllowed( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE cacheModel(
-     /* [retval][out] */ WebCacheModel* cacheModel);
-
-    virtual HRESULT STDMETHODCALLTYPE setCacheModel(
-     /* [in] */ WebCacheModel cacheModel);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cookieStorageAcceptPolicy(_Out_ WebKitCookieStorageAcceptPolicy*);
+    virtual HRESULT STDMETHODCALLTYPE setCookieStorageAcceptPolicy(WebKitCookieStorageAcceptPolicy);
+    virtual HRESULT STDMETHODCALLTYPE continuousSpellCheckingEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setContinuousSpellCheckingEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE grammarCheckingEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE allowContinuousSpellChecking(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAllowContinuousSpellChecking(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isDOMPasteAllowed(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDOMPasteAllowed(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE cacheModel(_Out_ WebCacheModel*);
+    virtual HRESULT STDMETHODCALLTYPE setCacheModel(WebCacheModel);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused3();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused4();
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE setAVFoundationEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE avFoundationEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setShouldDisplaySubtitles(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE shouldDisplaySubtitles(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setShouldDisplayCaptions(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE shouldDisplayCaptions(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setShouldDisplayTextDescriptions(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE shouldDisplayTextDescriptions(_Out_ BOOL*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setAVFoundationEnabled(
-    /* [in] */ BOOL);
-
-    virtual HRESULT STDMETHODCALLTYPE avFoundationEnabled(
-    /* [retval][out] */ BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE setShouldDisplaySubtitles(
-    /* [in] */ BOOL);
-
-    virtual HRESULT STDMETHODCALLTYPE shouldDisplaySubtitles(
-    /* [retval][out] */ BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE setShouldDisplayCaptions(
-    /* [in] */ BOOL);
-
-    virtual HRESULT STDMETHODCALLTYPE shouldDisplayCaptions(
-    /* [retval][out] */ BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE setShouldDisplayTextDescriptions(
-    /* [in] */ BOOL);
-
-    virtual HRESULT STDMETHODCALLTYPE shouldDisplayTextDescriptions(
-    /* [retval][out] */ BOOL*);
-
</del><span class="cx">     // IWebPreferencesPrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setDeveloperExtrasEnabled(
-        /* [in] */ BOOL);
-
-    virtual HRESULT STDMETHODCALLTYPE developerExtrasEnabled(
-        /* [retval][out] */ BOOL*);
-
-     virtual HRESULT STDMETHODCALLTYPE setAutomaticallyDetectsCacheModel(
-         /* [in] */ BOOL automaticallyDetectsCacheModel);
-
-     virtual HRESULT STDMETHODCALLTYPE automaticallyDetectsCacheModel(
-         /* [out, retval] */ BOOL* automaticallyDetectsCacheModel);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setDeveloperExtrasEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE developerExtrasEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAutomaticallyDetectsCacheModel(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE automaticallyDetectsCacheModel(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setAuthorAndUserStylesEnabled(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE authorAndUserStylesEnabled(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE authorAndUserStylesEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE inApplicationChromeMode(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setApplicationChromeMode(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setOfflineWebApplicationCacheEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE offlineWebApplicationCacheEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDatabasesEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE databasesEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setLocalStorageEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE localStorageEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE localStorageDatabasePath(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setLocalStorageDatabasePath(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE experimentalNotificationsEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setExperimentalNotificationsEnabled(BOOL);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE inApplicationChromeMode( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setApplicationChromeMode( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setOfflineWebApplicationCacheEnabled( 
-        /* [in] */ BOOL enabled);
-        
-    virtual HRESULT STDMETHODCALLTYPE offlineWebApplicationCacheEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setDatabasesEnabled( 
-        /* [in] */ BOOL enabled);
-        
-    virtual HRESULT STDMETHODCALLTYPE databasesEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setLocalStorageEnabled( 
-        /* [in] */ BOOL enabled);
-        
-    virtual HRESULT STDMETHODCALLTYPE localStorageEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE localStorageDatabasePath(
-        /* [out, retval] */ BSTR* location);
-
-    virtual HRESULT STDMETHODCALLTYPE setLocalStorageDatabasePath(
-        /* [in] */ BSTR location);
-
-    virtual HRESULT STDMETHODCALLTYPE experimentalNotificationsEnabled(
-        /* [retval][out] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setExperimentalNotificationsEnabled(
-        /* [in] */ BOOL enabled);
-
</del><span class="cx">     // These two methods are no-ops, and only retained to keep
</span><span class="cx">     // the Interface consistent. DO NOT USE THEM.
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setShouldPaintNativeControls(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE shouldPaintNativeControls(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE shouldPaintNativeControls(_Out_ BOOL*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE setZoomsTextOnly( 
-    /* [retval][out] */ BOOL zoomsTextOnly);
-
-    virtual HRESULT STDMETHODCALLTYPE zoomsTextOnly( 
-    /* [retval][out] */ BOOL *zoomsTextOnly);
-
-    virtual HRESULT STDMETHODCALLTYPE fontSmoothingContrast( 
-    /* [retval][out] */ float* contrast);
-
-    virtual HRESULT STDMETHODCALLTYPE setFontSmoothingContrast( 
-    /* [in] */ float contrast);
-
-    virtual HRESULT STDMETHODCALLTYPE isWebSecurityEnabled(
-    /* [retval][out] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setWebSecurityEnabled(
-    /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE allowUniversalAccessFromFileURLs(
-    /* [retval][out] */ BOOL* allowAccess);
-
-    virtual HRESULT STDMETHODCALLTYPE setAllowUniversalAccessFromFileURLs(
-    /* [in] */ BOOL allowAccess);
-
-    virtual HRESULT STDMETHODCALLTYPE allowFileAccessFromFileURLs(
-    /* [retval][out] */ BOOL* allowAccess);
-
-    virtual HRESULT STDMETHODCALLTYPE setAllowFileAccessFromFileURLs(
-    /* [in] */ BOOL allowAccess);
-
-    virtual HRESULT STDMETHODCALLTYPE javaScriptCanAccessClipboard(
-    /* [retval][out] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanAccessClipboard(
-    /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE isXSSAuditorEnabled(
-    /* [retval][out] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setXSSAuditorEnabled(
-    /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setShouldUseHighResolutionTimers(
-    /* [in] */ BOOL useHighResolutionTimers);
-
-    virtual HRESULT STDMETHODCALLTYPE shouldUseHighResolutionTimers(
-    /* [retval][out] */ BOOL* useHighResolutionTimers);
-
-    virtual HRESULT STDMETHODCALLTYPE isFrameFlatteningEnabled(
-    /* [retval][out] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setFrameFlatteningEnabled(
-    /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setPreferenceForTest(
-    /* [in] */ BSTR key,
-    /* [in] */ BSTR value);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setZoomsTextOnly(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE zoomsTextOnly(_Out_ BOOL *);
+    virtual HRESULT STDMETHODCALLTYPE fontSmoothingContrast(_Out_ float*);
+    virtual HRESULT STDMETHODCALLTYPE setFontSmoothingContrast(float);
+    virtual HRESULT STDMETHODCALLTYPE isWebSecurityEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setWebSecurityEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE allowUniversalAccessFromFileURLs(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAllowUniversalAccessFromFileURLs(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE allowFileAccessFromFileURLs(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAllowFileAccessFromFileURLs(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE javaScriptCanAccessClipboard(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanAccessClipboard(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isXSSAuditorEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setXSSAuditorEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setShouldUseHighResolutionTimers(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE shouldUseHighResolutionTimers(_Out_  BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE isFrameFlatteningEnabled(_Out_  BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setFrameFlatteningEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setPreferenceForTest(_In_ BSTR key, _In_ BSTR value);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setAcceleratedCompositingEnabled(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE acceleratedCompositingEnabled(BOOL*);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE acceleratedCompositingEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setCustomDragCursorsEnabled(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE customDragCursorsEnabled(BOOL*);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE customDragCursorsEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setShowDebugBorders(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE showDebugBorders(BOOL*);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE showDebugBorders(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setShowRepaintCounter(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE showRepaintCounter(BOOL*);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE showRepaintCounter(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setDNSPrefetchingEnabled(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isDNSPrefetchingEnabled(BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE hyperlinkAuditingEnabled(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isDNSPrefetchingEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE hyperlinkAuditingEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setHyperlinkAuditingEnabled(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE loadsSiteIconsIgnoringImageLoadingPreference(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE loadsSiteIconsIgnoringImageLoadingPreference(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setLoadsSiteIconsIgnoringImageLoadingPreference(BOOL);
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setFullScreenEnabled(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isFullScreenEnabled(BOOL*);
-
-    virtual HRESULT STDMETHODCALLTYPE hixie76WebSocketProtocolEnabled(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isFullScreenEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE hixie76WebSocketProtocolEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setHixie76WebSocketProtocolEnabled(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE mediaPlaybackRequiresUserGesture(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE mediaPlaybackRequiresUserGesture(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackRequiresUserGesture(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE mediaPlaybackAllowsInline(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE mediaPlaybackAllowsInline(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackAllowsInline(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE showsToolTipOverTruncatedText(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE showsToolTipOverTruncatedText(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setShowsToolTipOverTruncatedText(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE shouldInvertColors(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE shouldInvertColors(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setShouldInvertColors(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE requestAnimationFrameEnabled(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE requestAnimationFrameEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setRequestAnimationFrameEnabled(BOOL);
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE mockScrollbarsEnabled(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE mockScrollbarsEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setMockScrollbarsEnabled(BOOL);
</span><span class="cx"> 
</span><span class="cx">     // These two methods are no-ops, and only retained to keep
</span><span class="cx">     // the Interface consistent. DO NOT USE THEM.
</span><del>-    virtual HRESULT STDMETHODCALLTYPE screenFontSubstitutionEnabled(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE screenFontSubstitutionEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setScreenFontSubstitutionEnabled(BOOL);
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isInheritURIQueryComponentEnabled(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE isInheritURIQueryComponentEnabled(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setEnableInheritURIQueryComponent(BOOL);
</span><span class="cx"> 
</span><span class="cx">     // IWebPreferencesPrivate2
</span><del>-    virtual HRESULT STDMETHODCALLTYPE javaScriptRuntimeFlags(unsigned*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE javaScriptRuntimeFlags(_Out_ unsigned*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setJavaScriptRuntimeFlags(unsigned);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE allowDisplayAndRunningOfInsecureContent(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE allowDisplayAndRunningOfInsecureContent(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setAllowDisplayAndRunningOfInsecureContent(BOOL);
</span><span class="cx"> 
</span><span class="cx">     // WebPreferences
</span><span class="lines">@@ -507,10 +244,10 @@
</span><span class="cx">     static WebPreferences* sharedStandardPreferences();
</span><span class="cx"> 
</span><span class="cx">     // From WebHistory.h
</span><del>-    HRESULT historyItemLimit(int* limit);
-    HRESULT setHistoryItemLimit(int limit);
-    HRESULT historyAgeInDaysLimit(int* limit);
-    HRESULT setHistoryAgeInDaysLimit(int limit);
</del><ins>+    HRESULT historyItemLimit(_Out_ int*);
+    HRESULT setHistoryItemLimit(int);
+    HRESULT historyAgeInDaysLimit(_Out_ int*);
+    HRESULT setHistoryAgeInDaysLimit(int);
</ins><span class="cx"> 
</span><span class="cx">      void willAddToWebView();
</span><span class="cx">      void didRemoveFromWebView();
</span><span class="lines">@@ -540,12 +277,12 @@
</span><span class="cx">     void copyWebKitPreferencesToCFPreferences(CFDictionaryRef);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RetainPtr&lt;CFMutableDictionaryRef&gt; m_privatePrefs;
</span><span class="cx">     WebCore::BString m_identifier;
</span><del>-    bool m_autoSaves;
-    bool m_automaticallyDetectsCacheModel;
-    unsigned m_numWebViews;
</del><ins>+    bool m_autoSaves { false };
+    bool m_automaticallyDetectsCacheModel { true };
+    unsigned m_numWebViews { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebResource.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebResource.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebResource.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -35,8 +35,7 @@
</span><span class="cx"> // WebResource ---------------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebResource::WebResource(IStream* data, const WebCore::URL&amp; url, const WTF::String&amp; mimeType, const WTF::String&amp; textEncodingName, const WTF::String&amp; frameName)
</span><del>-    : m_refCount(0)
-    , m_data(data)
</del><ins>+    : m_data(data)
</ins><span class="cx">     , m_url(url)
</span><span class="cx">     , m_mimeType(mimeType)
</span><span class="cx">     , m_textEncodingName(textEncodingName)
</span><span class="lines">@@ -63,9 +62,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebResource::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebResource::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebResource))
</span><span class="lines">@@ -77,12 +78,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebResource::AddRef(void)
</del><ins>+ULONG WebResource::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebResource::Release(void)
</del><ins>+ULONG WebResource::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -93,12 +94,7 @@
</span><span class="cx"> 
</span><span class="cx"> // WebResource ------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebResource::initWithData( 
-    /* [in] */ IStream *data,
-    /* [in] */ BSTR url,
-    /* [in] */ BSTR mimeType,
-    /* [in] */ BSTR textEncodingName,
-    /* [in] */ BSTR frameName)
</del><ins>+HRESULT WebResource::initWithData(_In_opt_ IStream* data, _In_ BSTR url, _In_ BSTR mimeType, _In_ BSTR textEncodingName, _In_ BSTR frameName)
</ins><span class="cx"> {
</span><span class="cx">     m_data = data;
</span><span class="cx">     m_url = MarshallingHelpers::BSTRToKURL(url);
</span><span class="lines">@@ -109,15 +105,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-    
-HRESULT STDMETHODCALLTYPE WebResource::data( 
-    /* [retval][out] */ IStream **data)
</del><ins>+HRESULT WebResource::data(_COM_Outptr_opt_ IStream** data)
</ins><span class="cx"> {
</span><ins>+    if (!data)
+        return E_POINTER;
+    *data = nullptr;
</ins><span class="cx">     return m_data.copyRefTo(data);
</span><span class="cx"> }
</span><span class="cx">    
</span><del>-HRESULT STDMETHODCALLTYPE WebResource::URL( 
-    /* [retval][out] */ BSTR *url)
</del><ins>+HRESULT WebResource::URL(__deref_opt_out BSTR* url)
</ins><span class="cx"> {
</span><span class="cx">     if (!url) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -128,8 +124,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebResource::MIMEType( 
-    /* [retval][out] */ BSTR *mime)
</del><ins>+HRESULT WebResource::MIMEType(__deref_opt_out BSTR* mime)
</ins><span class="cx"> {
</span><span class="cx">     if (!mime) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -140,8 +135,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">    
</span><del>-HRESULT STDMETHODCALLTYPE WebResource::textEncodingName( 
-    /* [retval][out] */ BSTR *encodingName)
</del><ins>+HRESULT WebResource::textEncodingName(__deref_opt_out BSTR* encodingName)
</ins><span class="cx"> {
</span><span class="cx">     if (!encodingName) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -152,8 +146,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebResource::frameName( 
-    /* [retval][out] */ BSTR *name)
</del><ins>+HRESULT WebResource::frameName(__deref_opt_out BSTR* name)
</ins><span class="cx"> {
</span><span class="cx">     if (!name) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebResource.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebResource.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebResource.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -43,35 +43,20 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebResource
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithData( 
-        /* [in] */ IStream *data,
-        /* [in] */ BSTR url,
-        /* [in] */ BSTR mimeType,
-        /* [in] */ BSTR textEncodingName,
-        /* [in] */ BSTR frameName);
-        
-    virtual HRESULT STDMETHODCALLTYPE data( 
-        /* [retval][out] */ IStream **data);
-       
-    virtual HRESULT STDMETHODCALLTYPE URL( 
-        /* [retval][out] */ BSTR *url);
-        
-    virtual HRESULT STDMETHODCALLTYPE MIMEType( 
-        /* [retval][out] */ BSTR *mime);
-        
-    virtual HRESULT STDMETHODCALLTYPE textEncodingName( 
-        /* [retval][out] */ BSTR *encodingName);
-        
-    virtual HRESULT STDMETHODCALLTYPE frameName( 
-        /* [retval][out] */ BSTR *name);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initWithData(_In_opt_ IStream* data, _In_ BSTR url, _In_ BSTR mimeType, _In_ BSTR textEncodingName, _In_ BSTR frameName);
+    virtual HRESULT STDMETHODCALLTYPE data(_COM_Outptr_opt_ IStream** data);
+    virtual HRESULT STDMETHODCALLTYPE URL(__deref_opt_out BSTR* url);
+    virtual HRESULT STDMETHODCALLTYPE MIMEType(__deref_opt_out BSTR* mime);
+    virtual HRESULT STDMETHODCALLTYPE textEncodingName(__deref_opt_out BSTR* encodingName);
+    virtual HRESULT STDMETHODCALLTYPE frameName(__deref_opt_out BSTR* name);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     COMPtr&lt;IStream&gt; m_data;
</span><span class="cx">     WebCore::URL m_url;
</span><span class="cx">     WTF::String m_mimeType;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebScriptObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebScriptObject.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebScriptObject.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebScriptObject.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> // WebScriptObject ------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebScriptObject::WebScriptObject()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebScriptObject&quot;);
</span><span class="lines">@@ -46,9 +45,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebScriptObject::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebScriptObject*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebScriptObject))
</span><span class="lines">@@ -60,12 +61,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebScriptObject::AddRef(void)
</del><ins>+ULONG WebScriptObject::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebScriptObject::Release(void)
</del><ins>+ULONG WebScriptObject::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -76,64 +77,54 @@
</span><span class="cx"> 
</span><span class="cx"> // WebScriptObject ------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::throwException( 
-    /* [in] */ BSTR /*exceptionMessage*/,
-    /* [retval][out] */ BOOL* /*result*/)
</del><ins>+HRESULT WebScriptObject::throwException(_In_ BSTR /*exceptionMessage*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = FALSE;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::callWebScriptMethod( 
-    /* [in] */ BSTR /*name*/,
-    /* [size_is][in] */ const VARIANT /*args*/[  ],
-    /* [in] */ int /*cArgs*/,
-    /* [retval][out] */ VARIANT* /*result*/)
</del><ins>+HRESULT WebScriptObject::callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::evaluateWebScript( 
-    /* [in] */ BSTR /*script*/,
-    /* [retval][out] */ VARIANT* /*result*/)
</del><ins>+HRESULT WebScriptObject::evaluateWebScript(_In_ BSTR /*script*/, _Out_ VARIANT* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::removeWebScriptKey( 
-    /* [in] */ BSTR /*name*/)
</del><ins>+HRESULT WebScriptObject::removeWebScriptKey(_In_ BSTR /*name*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::stringRepresentation( 
-    /* [retval][out] */ BSTR* /*stringRepresentation*/)
</del><ins>+HRESULT WebScriptObject::stringRepresentation(__deref_opt_out BSTR* /*stringRepresentation*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::webScriptValueAtIndex( 
-    /* [in] */ unsigned int /*index*/,
-    /* [retval][out] */ VARIANT* /*result*/)
</del><ins>+HRESULT WebScriptObject::webScriptValueAtIndex(unsigned /*index*/, _Out_ VARIANT* /*result*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::setWebScriptValueAtIndex( 
-    /* [in] */ unsigned int /*index*/,
-    /* [in] */ VARIANT /*val*/)
</del><ins>+HRESULT WebScriptObject::setWebScriptValueAtIndex(unsigned /*index*/, VARIANT /*val*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebScriptObject::setException( 
-    /* [in] */ BSTR /*description*/)
</del><ins>+HRESULT WebScriptObject::setException(_In_ BSTR /*description*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebScriptObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebScriptObject.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebScriptObject.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebScriptObject.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -35,44 +35,22 @@
</span><span class="cx">     virtual ~WebScriptObject();
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException( 
-        /* [in] */ BSTR exceptionMessage,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 
-        /* [in] */ BSTR name,
-        /* [size_is][in] */ const VARIANT args[  ],
-        /* [in] */ int cArgs,
-        /* [retval][out] */ VARIANT *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ VARIANT *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 
-        /* [in] */ BSTR name);
-    
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 
-        /* [retval][out] */ BSTR* stringRepresentation);
-    
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [retval][out] */ VARIANT *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 
-        /* [in] */ unsigned int index,
-        /* [in] */ VARIANT val);
-    
-    virtual HRESULT STDMETHODCALLTYPE setException( 
-        /* [in] */ BSTR description);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR exceptionMessage, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR name, __in_ecount_opt(cArgs) const VARIANT args[], int cArgs, _Out_ VARIANT* result);
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR script, _Out_ VARIANT* result);
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR name);
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR* stringRepresentation);
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned index, _Out_ VARIANT* result);
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned index, VARIANT val);
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR description);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebScriptWorldcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebScriptWorld.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebScriptWorld.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebScriptWorld.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2009, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,8 +39,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> inline WebScriptWorld::WebScriptWorld(PassRefPtr&lt;DOMWrapperWorld&gt; world)
</span><del>-    : m_refCount(0)
-    , m_world(world)
</del><ins>+    : m_world(world)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(world, m_world);
</span><span class="cx"> 
</span><span class="lines">@@ -100,11 +99,11 @@
</span><span class="cx">     return newRefCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebScriptWorld::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebScriptWorld::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><span class="cx">     if (!ppvObject)
</span><span class="cx">         return E_POINTER;
</span><del>-    *ppvObject = 0;
</del><ins>+    *ppvObject = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (IsEqualIID(riid, __uuidof(WebScriptWorld)))
</span><span class="cx">         *ppvObject = this;
</span><span class="lines">@@ -119,7 +118,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebScriptWorld::standardWorld(IWebScriptWorld** outWorld)
</del><ins>+HRESULT WebScriptWorld::standardWorld(_COM_Outptr_opt_ IWebScriptWorld** outWorld)
</ins><span class="cx"> {
</span><span class="cx">     if (!outWorld)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebScriptWorldh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebScriptWorld.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebScriptWorld.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebScriptWorld.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2009, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -51,12 +51,12 @@
</span><span class="cx">     WebScriptWorld(PassRefPtr&lt;WebCore::DOMWrapperWorld&gt;);
</span><span class="cx">     ~WebScriptWorld();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
-    virtual HRESULT STDMETHODCALLTYPE standardWorld(IWebScriptWorld**);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void** ppvObject);
+    virtual HRESULT STDMETHODCALLTYPE standardWorld(_COM_Outptr_opt_ IWebScriptWorld**);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE scriptWorldForGlobalContext(JSGlobalContextRef, IWebScriptWorld**);
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unregisterWorld();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::DOMWrapperWorld&gt; m_world;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebSecurityOrigincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebSecurityOrigin.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebSecurityOrigin.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebSecurityOrigin.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -45,8 +45,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebSecurityOrigin::WebSecurityOrigin(SecurityOrigin* securityOrigin)
</span><del>-    : m_refCount(0)
-    , m_securityOrigin(securityOrigin)
</del><ins>+    : m_securityOrigin(securityOrigin)
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebSecurityOrigin&quot;);
</span><span class="lines">@@ -59,9 +58,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown ------------------------------------------------------------------------
</span><del>-HRESULT WebSecurityOrigin::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebSecurityOrigin::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebSecurityOrigin2*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebSecurityOrigin))
</span><span class="lines">@@ -93,7 +94,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebSecurityOrigin --------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebSecurityOrigin::protocol(/* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebSecurityOrigin::protocol(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -103,7 +104,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT WebSecurityOrigin::host(/* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebSecurityOrigin::host(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -113,7 +114,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">       
</span><del>-HRESULT WebSecurityOrigin::port(/* [retval][out] */ unsigned short* result)
</del><ins>+HRESULT WebSecurityOrigin::port(_Out_ unsigned short* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -123,7 +124,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT WebSecurityOrigin::usage(/* [retval][out] */ unsigned long long* result)
</del><ins>+HRESULT WebSecurityOrigin::usage(_Out_ unsigned long long* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -133,7 +134,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT WebSecurityOrigin::quota(/* [retval][out] */ unsigned long long* result)
</del><ins>+HRESULT WebSecurityOrigin::quota(_Out_ unsigned long long* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -142,7 +143,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT WebSecurityOrigin::setQuota(/* [in] */ unsigned long long quota) 
</del><ins>+HRESULT WebSecurityOrigin::setQuota(unsigned long long quota) 
</ins><span class="cx"> {
</span><span class="cx">     DatabaseManager::singleton().setQuota(m_securityOrigin.get(), quota);
</span><span class="cx"> 
</span><span class="lines">@@ -151,7 +152,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebSecurityOrigin2 --------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebSecurityOrigin::initWithURL(/* [in] */ BSTR urlBstr)
</del><ins>+HRESULT WebSecurityOrigin::initWithURL(_In_ BSTR urlBstr)
</ins><span class="cx"> {
</span><span class="cx">     m_securityOrigin = WebCore::SecurityOrigin::create(MarshallingHelpers::BSTRToKURL(urlBstr));
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebSecurityOriginh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebSecurityOrigin.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebSecurityOrigin.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebSecurityOrigin.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -40,41 +40,26 @@
</span><span class="cx">     WebCore::SecurityOrigin* securityOrigin() const { return m_securityOrigin.get(); }
</span><span class="cx"> 
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface( 
-        /* [in] */ REFIID riid,
-        /* [iid_is][out] */ void** ppvObject);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><del>-
</del><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><span class="cx">     // IWebSecurityOrigin
</span><del>-    virtual HRESULT STDMETHODCALLTYPE protocol( 
-        /* [retval][out] */ BSTR* result);
-        
-    virtual HRESULT STDMETHODCALLTYPE host( 
-        /* [retval][out] */ BSTR* result);
-        
-    virtual HRESULT STDMETHODCALLTYPE port( 
-        /* [retval][out] */ unsigned short* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE protocol(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE host(__deref_opt_out BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE port(_Out_ unsigned short*);
+    virtual HRESULT STDMETHODCALLTYPE usage(_Out_ unsigned long long*);
+    virtual HRESULT STDMETHODCALLTYPE quota(_Out_ unsigned long long*);
+    virtual HRESULT STDMETHODCALLTYPE setQuota(unsigned long long);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE usage( 
-        /* [retval][out] */ unsigned long long* result);
-        
-    virtual HRESULT STDMETHODCALLTYPE quota( 
-        /* [retval][out] */ unsigned long long* result);
-        
-    virtual HRESULT STDMETHODCALLTYPE setQuota( 
-        /* [in] */ unsigned long long quota);
-
</del><span class="cx">     // IWebSecurityOrigin2
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithURL(/*[in]*/ BSTR);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initWithURL(_In_ BSTR);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WebSecurityOrigin(WebCore::SecurityOrigin*);
</span><span class="cx">     ~WebSecurityOrigin();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::SecurityOrigin&gt; m_securityOrigin;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebSerializedJSValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebSerializedJSValue.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebSerializedJSValue.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebSerializedJSValue.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2009, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> using namespace WebCore;
</span><span class="cx"> 
</span><span class="cx"> WebSerializedJSValue::WebSerializedJSValue()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     ++gClassCount;
</span><span class="cx">     gClassNameCount().add(&quot;WebSerializedJSValue&quot;);
</span><span class="lines">@@ -60,11 +59,11 @@
</span><span class="cx">     return newRefCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebSerializedJSValue::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebSerializedJSValue::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><span class="cx">     if (!ppvObject)
</span><span class="cx">         return E_POINTER;
</span><del>-    *ppvObject = 0;
</del><ins>+    *ppvObject = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (IsEqualIID(riid, __uuidof(WebSerializedJSValue)))
</span><span class="cx">         *ppvObject = this;
</span><span class="lines">@@ -100,7 +99,7 @@
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     if (!m_value)
</span><del>-        *outValue = 0;
</del><ins>+        *outValue = nullptr;
</ins><span class="cx">     else
</span><span class="cx">         *outValue = m_value-&gt;deserialize(destinationContext, 0);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebSerializedJSValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebSerializedJSValue.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebSerializedJSValue.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebSerializedJSValue.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -52,9 +52,9 @@
</span><span class="cx">     WebSerializedJSValue();
</span><span class="cx">     ~WebSerializedJSValue();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void** ppvObject);
</ins><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::SerializedScriptValue&gt; m_value;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebTextRenderercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebTextRenderer.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebTextRenderer.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebTextRenderer.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebTextRenderer::WebTextRenderer()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebTextRenderer&quot;);
</span><span class="lines">@@ -50,9 +49,9 @@
</span><span class="cx">     gClassNameCount().remove(&quot;WebTextRenderer&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebTextRenderer::QueryInterface(const IID &amp;riid, void** ppvObject)
</del><ins>+HRESULT WebTextRenderer::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebTextRenderer*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebTextRenderer))
</span><span class="lines">@@ -64,12 +63,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebTextRenderer::AddRef()
</del><ins>+ULONG WebTextRenderer::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebTextRenderer::Release()
</del><ins>+ULONG WebTextRenderer::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -78,10 +77,9 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebTextRenderer::registerPrivateFont(
-    /* [in] */ LPCOLESTR fontFilePath)
</del><ins>+HRESULT WebTextRenderer::registerPrivateFont(_In_ LPCOLESTR fontFilePath)
</ins><span class="cx"> {
</span><del>-    if (!AddFontResourceEx(fontFilePath, FR_PRIVATE, 0))
</del><ins>+    if (!AddFontResourceEx(fontFilePath, FR_PRIVATE, nullptr))
</ins><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebTextRendererh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebTextRenderer.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebTextRenderer.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebTextRenderer.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -35,22 +35,17 @@
</span><span class="cx"> public:
</span><span class="cx">     static WebTextRenderer* createInstance();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(
-        /* [in] */ REFIID riid,
-        /* [iid_is][out] */ void** ppvObject);
-    
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE AddRef();
</span><del>-    
</del><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE registerPrivateFont(
-        /* [in] */ LPCOLESTR fontFilePath);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE registerPrivateFont(_In_ LPCOLESTR fontFilePath);
</ins><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     WebTextRenderer();
</span><span class="cx">     ~WebTextRenderer();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // !defined(WebTextRenderer_h)
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLAuthenticationChallengecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLAuthenticationChallenge.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLAuthenticationChallenge.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLAuthenticationChallenge.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -41,10 +41,8 @@
</span><span class="cx"> 
</span><span class="cx"> // WebURLAuthenticationChallenge ----------------------------------------------------------------
</span><span class="cx"> 
</span><del>-WebURLAuthenticationChallenge::WebURLAuthenticationChallenge(const AuthenticationChallenge&amp; authenticationChallenge,
-                                                             IWebURLAuthenticationChallengeSender* sender)
-    : m_refCount(0)
-    , m_authenticationChallenge(authenticationChallenge)
</del><ins>+WebURLAuthenticationChallenge::WebURLAuthenticationChallenge(const AuthenticationChallenge&amp; authenticationChallenge, IWebURLAuthenticationChallengeSender* sender)
+    : m_authenticationChallenge(authenticationChallenge)
</ins><span class="cx">     , m_sender(sender)
</span><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="lines">@@ -74,9 +72,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebURLAuthenticationChallenge::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(this)))
</span><span class="lines">@@ -90,12 +90,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallenge::AddRef(void)
</del><ins>+ULONG WebURLAuthenticationChallenge::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallenge::Release(void)
</del><ins>+ULONG WebURLAuthenticationChallenge::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -106,13 +106,9 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebURLAuthenticationChallenge -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::initWithProtectionSpace(
-    /* [in] */ IWebURLProtectionSpace* space, 
-    /* [in] */ IWebURLCredential* proposedCredential, 
-    /* [in] */ int previousFailureCount, 
-    /* [in] */ IWebURLResponse* failureResponse, 
-    /* [in] */ IWebError* error, 
-    /* [in] */ IWebURLAuthenticationChallengeSender* sender)
</del><ins>+HRESULT WebURLAuthenticationChallenge::initWithProtectionSpace(_In_opt_ IWebURLProtectionSpace* space, 
+    _In_opt_ IWebURLCredential* proposedCredential, int previousFailureCount, _In_opt_ IWebURLResponse* failureResponse, 
+    _In_opt_ IWebError* error, _In_opt_ IWebURLAuthenticationChallengeSender* sender)
</ins><span class="cx"> {
</span><span class="cx">     LOG_ERROR(&quot;Calling the ala carte init for WebURLAuthenticationChallenge - is this really what you want to do?&quot;);
</span><span class="cx"> 
</span><span class="lines">@@ -152,9 +148,8 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::initWithAuthenticationChallenge(
-    /* [in] */ IWebURLAuthenticationChallenge* challenge, 
-    /* [in] */ IWebURLAuthenticationChallengeSender* sender)
</del><ins>+HRESULT WebURLAuthenticationChallenge::initWithAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge* challenge, 
+    _In_opt_ IWebURLAuthenticationChallengeSender* sender)
</ins><span class="cx"> {
</span><span class="cx">     if (!challenge || !sender)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -177,44 +172,51 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::error(
-    /* [out, retval] */ IWebError** result)
</del><ins>+HRESULT WebURLAuthenticationChallenge::error(_COM_Outptr_opt_ IWebError** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = WebError::createInstance(m_authenticationChallenge.error());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::failureResponse(
-    /* [out, retval] */ IWebURLResponse** result)
</del><ins>+HRESULT WebURLAuthenticationChallenge::failureResponse(_COM_Outptr_opt_ IWebURLResponse** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = WebURLResponse::createInstance(m_authenticationChallenge.failureResponse());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::previousFailureCount(
-    /* [out, retval] */ UINT* result)
</del><ins>+HRESULT WebURLAuthenticationChallenge::previousFailureCount(_Out_ UINT* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_authenticationChallenge.previousFailureCount();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::proposedCredential(
-    /* [out, retval] */ IWebURLCredential** result)
</del><ins>+HRESULT WebURLAuthenticationChallenge::proposedCredential(_COM_Outptr_opt_ IWebURLCredential** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = WebURLCredential::createInstance(m_authenticationChallenge.proposedCredential());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::protectionSpace(
-    /* [out, retval] */ IWebURLProtectionSpace** result)
</del><ins>+HRESULT WebURLAuthenticationChallenge::protectionSpace(_COM_Outptr_opt_ IWebURLProtectionSpace** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = WebURLProtectionSpace::createInstance(m_authenticationChallenge.protectionSpace());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::sender(
-    /* [out, retval] */ IWebURLAuthenticationChallengeSender** sender)
</del><ins>+HRESULT WebURLAuthenticationChallenge::sender(_COM_Outptr_opt_ IWebURLAuthenticationChallengeSender** sender)
</ins><span class="cx"> {
</span><ins>+    if (!sender)
+        return E_POINTER;
+    *sender = nullptr;
</ins><span class="cx">     if (!m_sender) {
</span><span class="cx">         AuthenticationClient* client = m_authenticationChallenge.authenticationClient();
</span><span class="cx">         m_sender.adoptRef(WebURLAuthenticationChallengeSender::createInstance(client));
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLAuthenticationChallengeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLAuthenticationChallenge.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLAuthenticationChallenge.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLAuthenticationChallenge.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,46 +39,26 @@
</span><span class="cx">     ~WebURLAuthenticationChallenge();
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebURLAuthenticationChallenge
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithProtectionSpace(
-        /* [in] */ IWebURLProtectionSpace* space, 
-        /* [in] */ IWebURLCredential* proposedCredential, 
-        /* [in] */ int previousFailureCount, 
-        /* [in] */ IWebURLResponse* failureResponse, 
-        /* [in] */ IWebError* error, 
-        /* [in] */ IWebURLAuthenticationChallengeSender* sender);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE initWithProtectionSpace(_In_opt_ IWebURLProtectionSpace*, _In_opt_ IWebURLCredential*, 
+        int previousFailureCount, _In_opt_ IWebURLResponse* failureResponse, _In_opt_ IWebError*, _In_opt_ IWebURLAuthenticationChallengeSender*);
+    virtual HRESULT STDMETHODCALLTYPE initWithAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge*, _In_opt_ IWebURLAuthenticationChallengeSender*);
+    virtual HRESULT STDMETHODCALLTYPE error(_COM_Outptr_opt_ IWebError**);
+    virtual HRESULT STDMETHODCALLTYPE failureResponse(_COM_Outptr_opt_ IWebURLResponse**);
+    virtual HRESULT STDMETHODCALLTYPE previousFailureCount(_Out_ UINT*);
+    virtual HRESULT STDMETHODCALLTYPE proposedCredential(_COM_Outptr_opt_ IWebURLCredential**);
+    virtual HRESULT STDMETHODCALLTYPE protectionSpace(_COM_Outptr_opt_ IWebURLProtectionSpace**);
+    virtual HRESULT STDMETHODCALLTYPE sender(_COM_Outptr_opt_ IWebURLAuthenticationChallengeSender**);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge, 
-        /* [in] */ IWebURLAuthenticationChallengeSender* sender);
-
-    virtual HRESULT STDMETHODCALLTYPE error(
-        /* [out, retval] */ IWebError** result);
-
-    virtual HRESULT STDMETHODCALLTYPE failureResponse(
-        /* [out, retval] */ IWebURLResponse** result);
-
-    virtual HRESULT STDMETHODCALLTYPE previousFailureCount(
-        /* [out, retval] */ UINT* result);
-
-    virtual HRESULT STDMETHODCALLTYPE proposedCredential(
-        /* [out, retval] */ IWebURLCredential** result);
-
-    virtual HRESULT STDMETHODCALLTYPE protectionSpace(
-        /* [out, retval] */ IWebURLProtectionSpace** result);
-
-    virtual HRESULT STDMETHODCALLTYPE sender(
-        /* [out, retval] */ IWebURLAuthenticationChallengeSender** sender);
-
</del><span class="cx">     // WebURLAuthenticationChallenge
</span><span class="cx">     const WebCore::AuthenticationChallenge&amp; authenticationChallenge() const;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> 
</span><span class="cx">     WebCore::AuthenticationChallenge m_authenticationChallenge;
</span><span class="cx">     COMPtr&lt;IWebURLAuthenticationChallengeSender&gt; m_sender;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLAuthenticationChallengeSendercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,8 +38,7 @@
</span><span class="cx"> // WebURLAuthenticationChallengeSender ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender(PassRefPtr&lt;AuthenticationClient&gt; client)
</span><del>-    : m_refCount(0)
-    , m_client(client)
</del><ins>+    : m_client(client)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_client);
</span><span class="cx">     gClassCount++;
</span><span class="lines">@@ -61,9 +60,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebURLAuthenticationChallengeSender::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(this)))
</span><span class="lines">@@ -77,12 +78,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::AddRef(void)
</del><ins>+ULONG WebURLAuthenticationChallengeSender::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::Release(void)
</del><ins>+ULONG WebURLAuthenticationChallengeSender::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLAuthenticationChallengeSenderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLAuthenticationChallengeSender.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -45,26 +45,19 @@
</span><span class="cx">     ~WebURLAuthenticationChallengeSender();
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebURLAuthenticationChallengeSender
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE cancelAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge*);
+    virtual HRESULT STDMETHODCALLTYPE continueWithoutCredentialForAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge*);
+    virtual HRESULT STDMETHODCALLTYPE useCredential(_In_opt_ IWebURLCredential*, _In_opt_ IWebURLAuthenticationChallenge*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE continueWithoutCredentialForAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
-    virtual HRESULT STDMETHODCALLTYPE useCredential(
-        /* [in] */ IWebURLCredential* credential, 
-        /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
</del><span class="cx">     WebCore::AuthenticationClient* authenticationClient() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
-
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     RefPtr&lt;WebCore::AuthenticationClient&gt; m_client;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLAuthenticationChallengeSenderCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -37,8 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebURLAuthenticationChallengeSender -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebURLAuthenticationChallenge&gt; webChallenge(Query, challenge);
</span><span class="cx">     if (!webChallenge)
</span><span class="lines">@@ -48,8 +47,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge(
-        /* [in] */ IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge(_In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebURLAuthenticationChallenge&gt; webChallenge(Query, challenge);
</span><span class="cx">     if (!webChallenge)
</span><span class="lines">@@ -59,9 +57,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::useCredential(
-        /* [in] */ IWebURLCredential* credential, 
-        /* [in] */ IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT WebURLAuthenticationChallengeSender::useCredential(_In_opt_ IWebURLCredential* credential, _In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;WebURLAuthenticationChallenge&gt; webChallenge(Query, challenge);
</span><span class="cx">     if (!webChallenge)
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLCredentialcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLCredential.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLCredential.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLCredential.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -34,8 +34,7 @@
</span><span class="cx"> // WebURLCredential ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebURLCredential::WebURLCredential(const Credential&amp; credential)
</span><del>-    : m_refCount(0)
-    , m_credential(credential)
</del><ins>+    : m_credential(credential)
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebURLCredential&quot;);
</span><span class="lines">@@ -63,9 +62,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLCredential::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebURLCredential::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(WebURLCredential)))
</span><span class="lines">@@ -79,7 +80,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLCredential::AddRef(void)
</del><ins>+ULONG STDMETHODCALLTYPE WebURLCredential::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="lines">@@ -94,17 +95,15 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebURLCredential -------------------------------------------------------------------
</span><del>-HRESULT STDMETHODCALLTYPE WebURLCredential::hasPassword(
-        /* [out, retval] */ BOOL* result)
</del><ins>+HRESULT WebURLCredential::hasPassword(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_credential.hasPassword();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLCredential::initWithUser(
-        /* [in] */ BSTR user, 
-        /* [in] */ BSTR password, 
-        /* [in] */ WebURLCredentialPersistence persistence)
</del><ins>+HRESULT WebURLCredential::initWithUser(_In_ BSTR user, _In_ BSTR password, WebURLCredentialPersistence persistence)
</ins><span class="cx"> {
</span><span class="cx">     CredentialPersistence corePersistence = CredentialPersistenceNone;
</span><span class="cx">     switch (persistence) {
</span><span class="lines">@@ -125,17 +124,20 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLCredential::password(
-        /* [out, retval] */ BSTR* password)
</del><ins>+HRESULT WebURLCredential::password(__deref_opt_out BSTR* password)
</ins><span class="cx"> {
</span><ins>+    if (!password)
+        return E_POINTER;
</ins><span class="cx">     BString str = m_credential.password();
</span><span class="cx">     *password = str.release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLCredential::persistence(
-        /* [out, retval] */ WebURLCredentialPersistence* result)
</del><ins>+HRESULT WebURLCredential::persistence(_Out_ WebURLCredentialPersistence* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     switch (m_credential.persistence()) {
</span><span class="cx">     case CredentialPersistenceNone:
</span><span class="cx">         *result = WebURLCredentialPersistenceNone;
</span><span class="lines">@@ -153,9 +155,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLCredential::user(
-        /* [out, retval] */ BSTR* result)
</del><ins>+HRESULT WebURLCredential::user(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     BString str = m_credential.user();
</span><span class="cx">     *result = str.release();
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -165,4 +169,3 @@
</span><span class="cx"> {
</span><span class="cx">     return m_credential;
</span><span class="cx"> }
</span><del>-
</del></span></pre></div>
<a id="trunkSourceWebKitwinWebURLCredentialh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLCredential.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLCredential.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLCredential.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,34 +39,22 @@
</span><span class="cx">     ~WebURLCredential();
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebURLCredential
</span><del>-    virtual HRESULT STDMETHODCALLTYPE hasPassword(
-        /* [out, retval] */ BOOL* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE hasPassword(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE initWithUser(_In_ BSTR user, _In_ BSTR password, WebURLCredentialPersistence);
+    virtual HRESULT STDMETHODCALLTYPE password(__deref_opt_out BSTR* password);
+    virtual HRESULT STDMETHODCALLTYPE persistence(_Out_ WebURLCredentialPersistence* result);
+    virtual HRESULT STDMETHODCALLTYPE user(__deref_opt_out BSTR* result);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE initWithUser(
-        /* [in] */ BSTR user, 
-        /* [in] */ BSTR password, 
-        /* [in] */ WebURLCredentialPersistence persistence);
-
-    virtual HRESULT STDMETHODCALLTYPE password(
-        /* [out, retval] */ BSTR* password);
-
-    virtual HRESULT STDMETHODCALLTYPE persistence(
-        /* [out, retval] */ WebURLCredentialPersistence* result);
-
-    virtual HRESULT STDMETHODCALLTYPE user(
-        /* [out, retval] */ BSTR* result);
-
</del><span class="cx">     // WebURLCredential
</span><span class="cx">     const WebCore::Credential&amp; credential() const;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
-
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     WebCore::Credential m_credential;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLProtectionSpacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLProtectionSpace.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLProtectionSpace.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLProtectionSpace.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -34,8 +34,7 @@
</span><span class="cx"> // WebURLProtectionSpace ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebURLProtectionSpace::WebURLProtectionSpace(const ProtectionSpace&amp; protectionSpace)
</span><del>-    : m_refCount(0)
-    , m_protectionSpace(protectionSpace)
</del><ins>+    : m_protectionSpace(protectionSpace)
</ins><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebURLProtectionSpace&quot;);
</span><span class="lines">@@ -63,9 +62,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebURLProtectionSpace::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IUnknown*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, CLSID_WebURLProtectionSpace))
</span><span class="lines">@@ -79,12 +80,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLProtectionSpace::AddRef(void)
</del><ins>+ULONG WebURLProtectionSpace::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLProtectionSpace::Release(void)
</del><ins>+ULONG WebURLProtectionSpace::Release(void)
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -95,9 +96,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebURLProtectionSpace -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::authenticationMethod(
-    /* [out, retval] */ BSTR* result)
</del><ins>+HRESULT WebURLProtectionSpace::authenticationMethod(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     switch (m_protectionSpace.authenticationScheme()) {
</span><span class="cx">     case ProtectionSpaceAuthenticationSchemeDefault:
</span><span class="cx">         *result = SysAllocString(WebURLAuthenticationMethodDefault);
</span><span class="lines">@@ -118,9 +121,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::host(
-    /* [out, retval] */ BSTR* result)
</del><ins>+HRESULT WebURLProtectionSpace::host(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     BString str = m_protectionSpace.host();
</span><span class="cx">     *result = str.release();
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -142,12 +147,7 @@
</span><span class="cx">     return scheme;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::initWithHost(
-    /* [in] */ BSTR host, 
-    /* [in] */ int port, 
-    /* [in] */ BSTR protocol, 
-    /* [in] */ BSTR realm, 
-    /* [in] */ BSTR authenticationMethod)
</del><ins>+HRESULT WebURLProtectionSpace::initWithHost(_In_ BSTR host, int port, _In_ BSTR protocol, _In_ BSTR realm, _In_ BSTR authenticationMethod)
</ins><span class="cx"> {
</span><span class="cx">     static BString&amp; webURLProtectionSpaceHTTPBString = *new BString(WebURLProtectionSpaceHTTP);
</span><span class="cx">     static BString&amp; webURLProtectionSpaceHTTPSBString = *new BString(WebURLProtectionSpaceHTTPS);
</span><span class="lines">@@ -170,12 +170,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::initWithProxyHost(
-    /* [in] */ BSTR host, 
-    /* [in] */ int port, 
-    /* [in] */ BSTR proxyType, 
-    /* [in] */ BSTR realm, 
-    /* [in] */ BSTR authenticationMethod)
</del><ins>+HRESULT WebURLProtectionSpace::initWithProxyHost(_In_ BSTR host, int port, _In_ BSTR proxyType, _In_ BSTR realm, _In_ BSTR authenticationMethod)
</ins><span class="cx"> {
</span><span class="cx">     static BString&amp; webURLProtectionSpaceHTTPProxyBString = *new BString(WebURLProtectionSpaceHTTPProxy);
</span><span class="cx">     static BString&amp; webURLProtectionSpaceHTTPSProxyBString = *new BString(WebURLProtectionSpaceHTTPSProxy);
</span><span class="lines">@@ -200,23 +195,27 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::isProxy(
-    /* [out, retval] */ BOOL* result)
</del><ins>+HRESULT WebURLProtectionSpace::isProxy(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_protectionSpace.isProxy();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::port(
-    /* [out, retval] */ int* result)
</del><ins>+HRESULT WebURLProtectionSpace::port(_Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_protectionSpace.port();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::protocol(
-    /* [out, retval] */ BSTR* result)
</del><ins>+HRESULT WebURLProtectionSpace::protocol(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     switch (m_protectionSpace.serverType()) {
</span><span class="cx">     case ProtectionSpaceServerHTTP:
</span><span class="cx">         *result = SysAllocString(WebURLProtectionSpaceHTTP);
</span><span class="lines">@@ -237,9 +236,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::proxyType(
-    /* [out, retval] */ BSTR* result)
</del><ins>+HRESULT WebURLProtectionSpace::proxyType(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     switch (m_protectionSpace.serverType()) {
</span><span class="cx">     case ProtectionSpaceProxyHTTP:
</span><span class="cx">         *result = SysAllocString(WebURLProtectionSpaceHTTPProxy);
</span><span class="lines">@@ -260,17 +261,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::realm(
-    /* [out, retval] */ BSTR* result)
</del><ins>+HRESULT WebURLProtectionSpace::realm(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     BString bstring = m_protectionSpace.realm();
</span><span class="cx">     *result = bstring.release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::receivesCredentialSecurely(
-    /* [out, retval] */ BOOL* result)
</del><ins>+HRESULT WebURLProtectionSpace::receivesCredentialSecurely(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_protectionSpace.receivesCredentialSecurely();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLProtectionSpaceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLProtectionSpace.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLProtectionSpace.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLProtectionSpace.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -39,55 +39,27 @@
</span><span class="cx">     ~WebURLProtectionSpace();
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebURLProtectionSpace
</span><del>-    virtual HRESULT STDMETHODCALLTYPE authenticationMethod(
-        /* [out, retval] */ BSTR* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE authenticationMethod(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE host(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE initWithHost(_In_ BSTR host, int port, _In_ BSTR protocol, _In_ BSTR realm, _In_ BSTR authenticationMethod);
+    virtual HRESULT STDMETHODCALLTYPE initWithProxyHost(_In_ BSTR host, int port, _In_ BSTR proxyType, _In_ BSTR realm, _In_ BSTR authenticationMethod);
+    virtual HRESULT STDMETHODCALLTYPE isProxy(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE port(_Out_ int* result);
+    virtual HRESULT STDMETHODCALLTYPE protocol(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE proxyType(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE realm(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE receivesCredentialSecurely(_Out_ BOOL* result);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE host(
-        /* [out, retval] */ BSTR* result);
-
-    virtual HRESULT STDMETHODCALLTYPE initWithHost(
-        /* [in] */ BSTR host, 
-        /* [in] */ int port, 
-        /* [in] */ BSTR protocol, 
-        /* [in] */ BSTR realm, 
-        /* [in] */ BSTR authenticationMethod);
-
-    virtual HRESULT STDMETHODCALLTYPE initWithProxyHost(
-        /* [in] */ BSTR host, 
-        /* [in] */ int port, 
-        /* [in] */ BSTR proxyType, 
-        /* [in] */ BSTR realm, 
-        /* [in] */ BSTR authenticationMethod);
-
-    virtual HRESULT STDMETHODCALLTYPE isProxy(
-        /* [out, retval] */ BOOL* result);
-
-    virtual HRESULT STDMETHODCALLTYPE port(
-        /* [out, retval] */ int* result);
-
-    virtual HRESULT STDMETHODCALLTYPE protocol(
-        /* [out, retval] */ BSTR* result);
-
-    virtual HRESULT STDMETHODCALLTYPE proxyType(
-        /* [out, retval] */ BSTR* result);
-
-    virtual HRESULT STDMETHODCALLTYPE realm(
-        /* [out, retval] */ BSTR* result);
-
-    virtual HRESULT STDMETHODCALLTYPE receivesCredentialSecurely(
-        /* [out, retval] */ BOOL* result);
-
</del><span class="cx">     // WebURLProtectionSpace
</span><span class="cx">     const WebCore::ProtectionSpace&amp; protectionSpace() const;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
-
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     WebCore::ProtectionSpace m_protectionSpace;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLResponsecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLResponse.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLResponse.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLResponse.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -212,7 +212,6 @@
</span><span class="cx"> // IWebURLResponse ----------------------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> WebURLResponse::WebURLResponse()
</span><del>-    :m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebURLResponse&quot;);
</span><span class="lines">@@ -247,9 +246,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebURLResponse::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebURLResponse*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, __uuidof(this)))
</span><span class="lines">@@ -267,12 +268,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLResponse::AddRef(void)
</del><ins>+ULONG WebURLResponse::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebURLResponse::Release(void)
</del><ins>+ULONG WebURLResponse::Release(void)
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -283,26 +284,25 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebURLResponse --------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::expectedContentLength( 
-    /* [retval][out] */ long long* result)
</del><ins>+HRESULT WebURLResponse::expectedContentLength(_Out_ long long* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
</ins><span class="cx">     *result = m_response.expectedContentLength();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::initWithURL( 
-    /* [in] */ BSTR url,
-    /* [in] */ BSTR mimeType,
-    /* [in] */ int expectedContentLength,
-    /* [in] */ BSTR textEncodingName)
</del><ins>+HRESULT WebURLResponse::initWithURL(_In_ BSTR url, _In_ BSTR mimeType, int expectedContentLength, _In_ BSTR textEncodingName)
</ins><span class="cx"> {
</span><span class="cx">     m_response = ResourceResponse(MarshallingHelpers::BSTRToKURL(url), String(mimeType), expectedContentLength, String(textEncodingName));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::MIMEType( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebURLResponse::MIMEType(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     BString mimeType(m_response.mimeType());
</span><span class="cx">     *result = mimeType.release();
</span><span class="cx">     if (!m_response.mimeType().isNull() &amp;&amp; !*result)
</span><span class="lines">@@ -311,15 +311,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::suggestedFilename( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebURLResponse::suggestedFilename(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (m_response.url().isEmpty())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -328,8 +327,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::textEncodingName( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebURLResponse::textEncodingName(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_INVALIDARG;
</span><span class="lines">@@ -342,8 +340,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::URL( 
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebURLResponse::URL(__deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_INVALIDARG;
</span><span class="lines">@@ -358,11 +355,13 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebHTTPURLResponse --------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::allHeaderFields( 
-    /* [retval][out] */ IPropertyBag** headerFields)
</del><ins>+HRESULT WebURLResponse::allHeaderFields(_COM_Outptr_opt_ IPropertyBag** headerFields)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_response.isHTTP());
</span><span class="cx"> 
</span><ins>+    if (!headerFields)
+        return E_POINTER;
+
</ins><span class="cx">     HashMap&lt;String, String, CaseFoldingHash&gt; fields;
</span><span class="cx">     for (const auto&amp; keyValuePair : m_response.httpHeaderFields())
</span><span class="cx">         fields.add(keyValuePair.key, keyValuePair.value);
</span><span class="lines">@@ -371,23 +370,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::localizedStringForStatusCode( 
-    /* [in] */ int statusCode,
-    /* [retval][out] */ BSTR* statusString)
</del><ins>+HRESULT WebURLResponse::localizedStringForStatusCode(int statusCode, __deref_opt_out BSTR* statusString)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_response.isHTTP());
</span><del>-    if (statusString)
-        *statusString = 0;
</del><ins>+    if (!statusString)
+        return E_POINTER;
+
+    *statusString = nullptr;
</ins><span class="cx">     const String&amp; statusText = localizedShortDescriptionForStatusCode(statusCode);
</span><span class="cx">     if (!statusText)
</span><span class="cx">         return E_FAIL;
</span><del>-    if (statusString)
-        *statusString = BString(statusText).release();
</del><ins>+    *statusString = BString(statusText).release();
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::statusCode( 
-    /* [retval][out] */ int* statusCode)
</del><ins>+HRESULT WebURLResponse::statusCode(_Out_ int* statusCode)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_response.isHTTP());
</span><span class="cx">     if (statusCode)
</span><span class="lines">@@ -395,15 +392,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebURLResponse::isAttachment( 
-    /* [retval][out] */ BOOL *attachment)
</del><ins>+HRESULT WebURLResponse::isAttachment(_Out_ BOOL* attachment)
</ins><span class="cx"> {
</span><ins>+    if (!attachment)
+        return E_POINTER;
</ins><span class="cx">     *attachment = m_response.isAttachment();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
-HRESULT WebURLResponse::sslPeerCertificate(/* [retval][out] */ ULONG_PTR* result)
</del><ins>+HRESULT WebURLResponse::sslPeerCertificate(_Out_ ULONG_PTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -424,12 +421,12 @@
</span><span class="cx"> 
</span><span class="cx"> // WebURLResponse -------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebURLResponse::suggestedFileExtension(BSTR *result)
</del><ins>+HRESULT WebURLResponse::suggestedFileExtension(BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (m_response.mimeType().isEmpty())
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -486,7 +483,7 @@
</span><span class="cx"> 
</span><span class="cx">     CFURLResponseRef cfResponse = m_response.cfURLResponse();
</span><span class="cx">     if (!cfResponse)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     m_SSLCertificateInfo = wkGetSSLCertificateInfo(cfResponse);
</span><span class="cx">     return m_SSLCertificateInfo.get();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebURLResponseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebURLResponse.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebURLResponse.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebURLResponse.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006-2007, 2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -40,48 +40,26 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebURLResponse
</span><del>-    virtual HRESULT STDMETHODCALLTYPE expectedContentLength( 
-        /* [retval][out] */ long long *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE initWithURL( 
-        /* [in] */ BSTR url,
-        /* [in] */ BSTR mimeType,
-        /* [in] */ int expectedContentLength,
-        /* [in] */ BSTR textEncodingName);
-    
-    virtual HRESULT STDMETHODCALLTYPE MIMEType( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE suggestedFilename( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE textEncodingName( 
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE URL( 
-        /* [retval][out] */ BSTR *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE expectedContentLength(_Out_ long long*);    
+    virtual HRESULT STDMETHODCALLTYPE initWithURL(_In_ BSTR url, _In_ BSTR mimeType, int expectedContentLength, _In_ BSTR textEncodingName);    
+    virtual HRESULT STDMETHODCALLTYPE MIMEType(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE suggestedFilename(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE textEncodingName(__deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE URL(__deref_opt_out BSTR* result);
</ins><span class="cx"> 
</span><span class="cx">     // IWebHTTPURLResponse
</span><del>-    virtual HRESULT STDMETHODCALLTYPE allHeaderFields( 
-        /* [retval][out] */ IPropertyBag **headerFields);
-    
-    virtual HRESULT STDMETHODCALLTYPE localizedStringForStatusCode( 
-        /* [in] */ int statusCode,
-        /* [retval][out] */ BSTR *statusString);
-    
-    virtual HRESULT STDMETHODCALLTYPE statusCode( 
-        /* [retval][out] */ int *statusCode);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE allHeaderFields(_COM_Outptr_opt_ IPropertyBag** headerFields);    
+    virtual HRESULT STDMETHODCALLTYPE localizedStringForStatusCode(int statusCode, __deref_opt_out BSTR* statusString);    
+    virtual HRESULT STDMETHODCALLTYPE statusCode(_Out_ int*);
+    virtual HRESULT STDMETHODCALLTYPE isAttachment(_Out_ BOOL*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE isAttachment( 
-        /* [retval][out] */ BOOL *attachment);
-
</del><span class="cx">     // IWebURLResponsePrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE sslPeerCertificate(/* [retval][out] */ ULONG_PTR* result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE sslPeerCertificate(_Out_ ULONG_PTR* result);
</ins><span class="cx">     
</span><span class="cx">     const WebCore::ResourceResponse&amp; resourceResponse() const;
</span><span class="cx"> 
</span><span class="lines">@@ -93,7 +71,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     WebCore::ResourceResponse m_response;
</span><span class="cx"> 
</span><span class="cx"> #if USE(CFNETWORK)
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebUserContentURLPatterncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebUserContentURLPattern.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebUserContentURLPattern.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebUserContentURLPattern.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2010 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2010, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> using namespace WebCore;
</span><span class="cx"> 
</span><span class="cx"> inline WebUserContentURLPattern::WebUserContentURLPattern()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     ++gClassCount;
</span><span class="cx">     gClassNameCount().add(&quot;WebUserContentURLPattern&quot;);
</span><span class="lines">@@ -63,11 +62,11 @@
</span><span class="cx">     return newRefCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebUserContentURLPattern::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebUserContentURLPattern::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><span class="cx">     if (!ppvObject)
</span><span class="cx">         return E_POINTER;
</span><del>-    *ppvObject = 0;
</del><ins>+    *ppvObject = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (IsEqualIID(riid, __uuidof(WebUserContentURLPattern)))
</span><span class="cx">         *ppvObject = this;
</span><span class="lines">@@ -82,13 +81,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebUserContentURLPattern::parse(BSTR patternString)
</del><ins>+HRESULT WebUserContentURLPattern::parse(_In_ BSTR patternString)
</ins><span class="cx"> {
</span><span class="cx">     m_pattern = UserContentURLPattern(String(patternString, SysStringLen(patternString)));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebUserContentURLPattern::isValid(BOOL* isValid)
</del><ins>+HRESULT WebUserContentURLPattern::isValid(_Out_ BOOL* isValid)
</ins><span class="cx"> {
</span><span class="cx">     if (!isValid)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -96,7 +95,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebUserContentURLPattern::scheme(BSTR* scheme)
</del><ins>+HRESULT WebUserContentURLPattern::scheme(_Deref_opt_out_ BSTR* scheme)
</ins><span class="cx"> {
</span><span class="cx">     if (!scheme)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -104,7 +103,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebUserContentURLPattern::host(BSTR* host)
</del><ins>+HRESULT WebUserContentURLPattern::host(_Deref_opt_out_ BSTR* host)
</ins><span class="cx"> {
</span><span class="cx">     if (!host)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -112,7 +111,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebUserContentURLPattern::matchesSubdomains(BOOL* matches)
</del><ins>+HRESULT WebUserContentURLPattern::matchesSubdomains(_Out_ BOOL* matches)
</ins><span class="cx"> {
</span><span class="cx">     if (!matches)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -120,7 +119,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebUserContentURLPattern::matchesURL(BSTR url, BOOL* matches)
</del><ins>+HRESULT WebUserContentURLPattern::matchesURL(_In_ BSTR url, _Out_ BOOL* matches)
</ins><span class="cx"> {
</span><span class="cx">     if (!matches)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebUserContentURLPatternh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebUserContentURLPattern.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebUserContentURLPattern.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebUserContentURLPattern.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2010 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2010, 2015 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -45,15 +45,15 @@
</span><span class="cx">     WebUserContentURLPattern();
</span><span class="cx">     ~WebUserContentURLPattern();
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
-    virtual HRESULT STDMETHODCALLTYPE parse(BSTR patternString);
-    virtual HRESULT STDMETHODCALLTYPE isValid(BOOL*);
-    virtual HRESULT STDMETHODCALLTYPE scheme(BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE host(BSTR*);
-    virtual HRESULT STDMETHODCALLTYPE matchesSubdomains(BOOL* matches);
-    virtual HRESULT STDMETHODCALLTYPE matchesURL(BSTR, BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _COM_Outptr_ void** ppvObject);
+    virtual HRESULT STDMETHODCALLTYPE parse(_In_ BSTR patternString);
+    virtual HRESULT STDMETHODCALLTYPE isValid(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE scheme(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE host(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE matchesSubdomains(_Out_ BOOL* matches);
+    virtual HRESULT STDMETHODCALLTYPE matchesURL(_In_ BSTR, _Out_ BOOL*);
</ins><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx">     WebCore::UserContentURLPattern m_pattern;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebView.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -278,8 +278,8 @@
</span><span class="cx">     PreferencesChangedOrRemovedObserver() {}
</span><span class="cx">     ~PreferencesChangedOrRemovedObserver() {}
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**) { return E_FAIL; }
-    virtual ULONG STDMETHODCALLTYPE AddRef(void) { return 0; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID, _Outptr_ void**) { return E_FAIL; }
+    virtual ULONG STDMETHODCALLTYPE AddRef() { return 0; }
</ins><span class="cx">     virtual ULONG STDMETHODCALLTYPE Release(void) { return 0; }
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="lines">@@ -400,46 +400,6 @@
</span><span class="cx"> bool WebView::s_allowSiteSpecificHacks = false;
</span><span class="cx"> 
</span><span class="cx"> WebView::WebView()
</span><del>-    : m_refCount(0)
-    , m_shouldInvertColors(false)
-#if !ASSERT_DISABLED
-    , m_deletionHasBegun(false)
-#endif
-    , m_hostWindow(0)
-    , m_viewWindow(0)
-    , m_mainFrame(0)
-    , m_page(0)
-    , m_inspectorClient(0)
-    , m_hasCustomDropTarget(false)
-    , m_useBackForwardList(true)
-    , m_userAgentOverridden(false)
-    , m_zoomMultiplier(1.0f)
-    , m_zoomsTextOnly(false)
-    , m_mouseActivated(false)
-    , m_dragData(0)
-    , m_currentCharacterCode(0)
-    , m_isBeingDestroyed(false)
-    , m_paintCount(0)
-    , m_hasSpellCheckerDocumentTag(false)
-    , m_didClose(false)
-    , m_inIMEComposition(0)
-    , m_toolTipHwnd(0)
-    , m_closeWindowTimer(0)
-    , m_topLevelParent(0)
-    , m_deleteBackingStoreTimerActive(false)
-    , m_transparent(false)
-    , m_lastPanX(0)
-    , m_lastPanY(0)
-    , m_xOverpan(0)
-    , m_yOverpan(0)
-    , m_isAcceleratedCompositing(false)
-    , m_nextDisplayIsSynchronous(false)
-    , m_lastSetCursor(0)
-    , m_usesLayeredWindow(false)
-    , m_needsDisplay(false)
-#if USE(TEXTURE_MAPPER_GL)
-    , m_acceleratedCompositingContext(nullptr)
-#endif
</del><span class="cx"> {
</span><span class="cx">     JSC::initializeThreading();
</span><span class="cx">     WTF::initializeMainThread();
</span><span class="lines">@@ -451,7 +411,7 @@
</span><span class="cx">     initializeStaticObservers();
</span><span class="cx"> 
</span><span class="cx">     WebPreferences* sharedPreferences = WebPreferences::sharedStandardPreferences();
</span><del>-    BOOL enabled;
</del><ins>+    BOOL enabled = FALSE;
</ins><span class="cx">     if (SUCCEEDED(sharedPreferences-&gt;continuousSpellCheckingEnabled(&amp;enabled)))
</span><span class="cx">         continuousSpellCheckingEnabled = !!enabled;
</span><span class="cx">     if (SUCCEEDED(sharedPreferences-&gt;grammarCheckingEnabled(&amp;enabled)))
</span><span class="lines">@@ -497,7 +457,7 @@
</span><span class="cx"> 
</span><span class="cx"> void initializeStaticObservers()
</span><span class="cx"> {
</span><del>-    static bool initialized;
</del><ins>+    static bool initialized = false;
</ins><span class="cx">     if (initialized)
</span><span class="cx">         return;
</span><span class="cx">     initialized = true;
</span><span class="lines">@@ -752,7 +712,7 @@
</span><span class="cx">     return cacheModel;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::close()
</del><ins>+HRESULT WebView::close()
</ins><span class="cx"> {
</span><span class="cx">     if (m_didClose)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -2652,9 +2612,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebView::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, CLSID_WebView))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="lines">@@ -2686,13 +2648,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebView::AddRef(void)
</del><ins>+ULONG WebView::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_deletionHasBegun);
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebView::Release(void)
</del><ins>+ULONG WebView::Release(void)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!m_deletionHasBegun);
</span><span class="cx"> 
</span><span class="lines">@@ -2717,7 +2679,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebView --------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebView::canShowMIMEType(/* [in] */ BSTR mimeType, /* [retval][out] */ BOOL* canShow)
</del><ins>+HRESULT WebView::canShowMIMEType(_In_ BSTR mimeType, _Out_ BOOL* canShow)
</ins><span class="cx"> {
</span><span class="cx">     if (!canShow)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -2747,7 +2709,7 @@
</span><span class="cx">     return canShow;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::canShowMIMETypeAsHTML(/* [in] */ BSTR mimeType, /* [retval][out] */ BOOL* canShow)
</del><ins>+HRESULT WebView::canShowMIMETypeAsHTML(_In_ BSTR mimeType, _Out_ BOOL* canShow)
</ins><span class="cx"> {
</span><span class="cx">     if (!canShow)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -2764,32 +2726,28 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::MIMETypesShownAsHTML( 
-    /* [retval][out] */ IEnumVARIANT** /*enumVariant*/)
</del><ins>+HRESULT WebView::MIMETypesShownAsHTML(_COM_Outptr_opt_ IEnumVARIANT** enumVariant)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!enumVariant)
+        return E_POINTER;
+    *enumVariant = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setMIMETypesShownAsHTML( 
-        /* [size_is][in] */ BSTR* /*mimeTypes*/,
-        /* [in] */ int /*cMimeTypes*/)
</del><ins>+HRESULT WebView::setMIMETypesShownAsHTML(__inout_ecount_full(cMimeTypes) BSTR* mimeTypes, int cMimeTypes)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::URLFromPasteboard( 
-    /* [in] */ IDataObject* /*pasteboard*/,
-    /* [retval][out] */ BSTR* /*url*/)
</del><ins>+HRESULT WebView::URLFromPasteboard(_In_opt_ IDataObject* /*pasteboard*/, _Deref_opt_out_ BSTR* /*url*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::URLTitleFromPasteboard( 
-    /* [in] */ IDataObject* /*pasteboard*/,
-    /* [retval][out] */ BSTR* /*urlTitle*/)
</del><ins>+HRESULT WebView::URLTitleFromPasteboard(_In_opt_ IDataObject* /*pasteboard*/, _Deref_opt_out_ BSTR* /*urlTitle*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -2843,15 +2801,12 @@
</span><span class="cx">     return shouldCreateScrollbars;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::initWithFrame( 
-    /* [in] */ RECT frame,
-    /* [in] */ BSTR frameName,
-    /* [in] */ BSTR groupName)
</del><ins>+HRESULT WebView::initWithFrame(RECT frame, _In_ BSTR frameName, _In_ BSTR groupName)
</ins><span class="cx"> {
</span><span class="cx">     HRESULT hr = S_OK;
</span><span class="cx"> 
</span><span class="cx">     if (m_viewWindow)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     registerWebViewWindowClass();
</span><span class="cx"> 
</span><span class="lines">@@ -3075,24 +3030,24 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::setAccessibilityDelegate(
-    /* [in] */ IAccessibilityDelegate* d)
</del><ins>+HRESULT WebView::setAccessibilityDelegate(_In_opt_ IAccessibilityDelegate* d)
</ins><span class="cx"> {
</span><span class="cx">     m_accessibilityDelegate = d;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::accessibilityDelegate(
-    /* [out][retval] */ IAccessibilityDelegate** d)
</del><ins>+HRESULT WebView::accessibilityDelegate(_COM_Outptr_opt_ IAccessibilityDelegate** d)
</ins><span class="cx"> {
</span><ins>+    if (!d)
+        return E_POINTER;
+    *d = nullptr;
</ins><span class="cx">     if (!m_accessibilityDelegate)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     return m_accessibilityDelegate.copyRefTo(d);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setUIDelegate( 
-    /* [in] */ IWebUIDelegate* d)
</del><ins>+HRESULT WebView::setUIDelegate(_In_opt_ IWebUIDelegate* d)
</ins><span class="cx"> {
</span><span class="cx">     m_uiDelegate = d;
</span><span class="cx"> 
</span><span class="lines">@@ -3107,80 +3062,86 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::uiDelegate( 
-    /* [out][retval] */ IWebUIDelegate** d)
</del><ins>+HRESULT WebView::uiDelegate(_COM_Outptr_opt_ IWebUIDelegate** d)
</ins><span class="cx"> {
</span><ins>+    if (!d)
+        return E_POINTER;
+    *d = nullptr;
</ins><span class="cx">     if (!m_uiDelegate)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_uiDelegate.copyRefTo(d);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setResourceLoadDelegate( 
-    /* [in] */ IWebResourceLoadDelegate* d)
</del><ins>+HRESULT WebView::setResourceLoadDelegate(_In_opt_ IWebResourceLoadDelegate* d)
</ins><span class="cx"> {
</span><span class="cx">     m_resourceLoadDelegate = d;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::resourceLoadDelegate( 
-    /* [out][retval] */ IWebResourceLoadDelegate** d)
</del><ins>+HRESULT WebView::resourceLoadDelegate(_COM_Outptr_opt_ IWebResourceLoadDelegate** d)
</ins><span class="cx"> {
</span><ins>+    if (!d)
+        return E_POINTER;
+    *d = nullptr;
</ins><span class="cx">     if (!m_resourceLoadDelegate)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_resourceLoadDelegate.copyRefTo(d);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setDownloadDelegate( 
-    /* [in] */ IWebDownloadDelegate* d)
</del><ins>+HRESULT WebView::setDownloadDelegate(_In_opt_ IWebDownloadDelegate* d)
</ins><span class="cx"> {
</span><span class="cx">     m_downloadDelegate = d;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::downloadDelegate( 
-    /* [out][retval] */ IWebDownloadDelegate** d)
</del><ins>+HRESULT WebView::downloadDelegate(_COM_Outptr_opt_ IWebDownloadDelegate** d)
</ins><span class="cx"> {
</span><ins>+    if (!d)
+        return E_POINTER;
+    *d = nullptr;
</ins><span class="cx">     if (!m_downloadDelegate)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_downloadDelegate.copyRefTo(d);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setFrameLoadDelegate( 
-    /* [in] */ IWebFrameLoadDelegate* d)
</del><ins>+HRESULT WebView::setFrameLoadDelegate(_In_opt_ IWebFrameLoadDelegate* d)
</ins><span class="cx"> {
</span><span class="cx">     m_frameLoadDelegate = d;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::frameLoadDelegate( 
-    /* [out][retval] */ IWebFrameLoadDelegate** d)
</del><ins>+HRESULT WebView::frameLoadDelegate(_COM_Outptr_opt_ IWebFrameLoadDelegate** d)
</ins><span class="cx"> {
</span><ins>+    if (!d)
+        return E_POINTER;
+    *d = nullptr;
</ins><span class="cx">     if (!m_frameLoadDelegate)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_frameLoadDelegate.copyRefTo(d);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setPolicyDelegate( 
-    /* [in] */ IWebPolicyDelegate* d)
</del><ins>+HRESULT WebView::setPolicyDelegate(_In_opt_ IWebPolicyDelegate* d)
</ins><span class="cx"> {
</span><span class="cx">     m_policyDelegate = d;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::policyDelegate( 
-    /* [out][retval] */ IWebPolicyDelegate** d)
</del><ins>+HRESULT WebView::policyDelegate(_COM_Outptr_opt_ IWebPolicyDelegate** d)
</ins><span class="cx"> {
</span><ins>+    if (!d)
+        return E_POINTER;
+    *d = nullptr;
</ins><span class="cx">     if (!m_policyDelegate)
</span><span class="cx">         return E_FAIL;
</span><ins>+
</ins><span class="cx">     return m_policyDelegate.copyRefTo(d);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::mainFrame( 
-    /* [out][retval] */ IWebFrame** frame)
</del><ins>+HRESULT WebView::mainFrame(_COM_Outptr_opt_ IWebFrame** frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -3189,35 +3150,38 @@
</span><span class="cx"> 
</span><span class="cx">     *frame = m_mainFrame;
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     m_mainFrame-&gt;AddRef();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::focusedFrame( 
-    /* [out][retval] */ IWebFrame** frame)
</del><ins>+HRESULT WebView::focusedFrame(_COM_Outptr_opt_ IWebFrame** frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *frame = 0;
</del><ins>+    *frame = nullptr;
</ins><span class="cx">     Frame* f = m_page-&gt;focusController().focusedFrame();
</span><span class="cx">     if (!f)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     WebFrame* webFrame = kit(f);
</span><span class="cx">     if (!webFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     return webFrame-&gt;QueryInterface(IID_IWebFrame, (void**) frame);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::backForwardList( 
-    /* [out][retval] */ IWebBackForwardList** list)
</del><ins>+HRESULT WebView::backForwardList(_COM_Outptr_opt_ IWebBackForwardList** list)
</ins><span class="cx"> {
</span><ins>+    if (!list) {
+        ASSERT_NOT_REACHED();
+        return E_POINTER;
+    }
+    *list = nullptr;
</ins><span class="cx">     if (!m_useBackForwardList)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">  
</span><span class="lines">@@ -3226,31 +3190,38 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setMaintainsBackForwardList( 
-    /* [in] */ BOOL flag)
</del><ins>+HRESULT WebView::setMaintainsBackForwardList(BOOL flag)
</ins><span class="cx"> {
</span><span class="cx">     m_useBackForwardList = !!flag;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::goBack( 
-    /* [retval][out] */ BOOL* succeeded)
</del><ins>+HRESULT WebView::goBack(_Out_ BOOL* succeeded)
</ins><span class="cx"> {
</span><ins>+    if (!succeeded)
+        return E_POINTER;
+
</ins><span class="cx">     *succeeded = m_page-&gt;backForward().goBack();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::goForward( 
-    /* [retval][out] */ BOOL* succeeded)
</del><ins>+HRESULT WebView::goForward(_Out_ BOOL* succeeded)
</ins><span class="cx"> {
</span><ins>+    if (!succeeded)
+        return E_POINTER;
+
</ins><span class="cx">     *succeeded = m_page-&gt;backForward().goForward();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::goToBackForwardItem( 
-    /* [in] */ IWebHistoryItem* item,
-    /* [retval][out] */ BOOL* succeeded)
</del><ins>+HRESULT WebView::goToBackForwardItem(_In_opt_ IWebHistoryItem* item, _Out_ BOOL* succeeded)
</ins><span class="cx"> {
</span><ins>+    if (!item)
+        return E_FAIL;
+
+    if (!succeeded)
+        return E_POINTER;
+
</ins><span class="cx">     *succeeded = FALSE;
</span><span class="cx"> 
</span><span class="cx">     COMPtr&lt;WebHistoryItem&gt; webHistoryItem;
</span><span class="lines">@@ -3264,20 +3235,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setTextSizeMultiplier( 
-    /* [in] */ float multiplier)
</del><ins>+HRESULT WebView::setTextSizeMultiplier(float multiplier)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx">     setZoomMultiplier(multiplier, true);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setPageSizeMultiplier( 
-    /* [in] */ float multiplier)
</del><ins>+HRESULT STDMETHODCALLTYPE WebView::setPageSizeMultiplier(float multiplier)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx">     setZoomMultiplier(multiplier, false);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -3295,16 +3264,20 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::textSizeMultiplier( 
-    /* [retval][out] */ float* multiplier)
</del><ins>+HRESULT WebView::textSizeMultiplier(_Out_ float* multiplier)
</ins><span class="cx"> {
</span><ins>+    if (!multiplier)
+        return E_POINTER;
+
</ins><span class="cx">     *multiplier = zoomMultiplier(true);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::pageSizeMultiplier( 
-    /* [retval][out] */ float* multiplier)
</del><ins>+HRESULT STDMETHODCALLTYPE WebView::pageSizeMultiplier(_Out_ float* multiplier)
</ins><span class="cx"> {
</span><ins>+    if (!multiplier)
+        return E_POINTER;
+
</ins><span class="cx">     *multiplier = zoomMultiplier(false);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -3316,35 +3289,37 @@
</span><span class="cx">     return m_zoomMultiplier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setApplicationNameForUserAgent( 
-    /* [in] */ BSTR applicationName)
</del><ins>+HRESULT WebView::setApplicationNameForUserAgent(_In_ BSTR applicationName)
</ins><span class="cx"> {
</span><span class="cx">     m_applicationName = toString(applicationName);
</span><span class="cx">     m_userAgentStandard = String();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::applicationNameForUserAgent( 
-    /* [retval][out] */ BSTR* applicationName)
</del><ins>+HRESULT WebView::applicationNameForUserAgent(_Deref_opt_out_ BSTR* applicationName)
</ins><span class="cx"> {
</span><ins>+    if (!applicationName)
+        return E_POINTER;
+
</ins><span class="cx">     *applicationName = BString(m_applicationName).release();
</span><span class="cx">     if (!*applicationName &amp;&amp; m_applicationName.length())
</span><span class="cx">         return E_OUTOFMEMORY;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setCustomUserAgent( 
-    /* [in] */ BSTR userAgentString)
</del><ins>+HRESULT WebView::setCustomUserAgent(_In_ BSTR userAgentString)
</ins><span class="cx"> {
</span><span class="cx">     m_userAgentOverridden = userAgentString;
</span><span class="cx">     m_userAgentCustom = toString(userAgentString);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::customUserAgent( 
-    /* [retval][out] */ BSTR* userAgentString)
</del><ins>+HRESULT WebView::customUserAgent(_Deref_opt_out_ BSTR* userAgentString)
</ins><span class="cx"> {
</span><del>-    *userAgentString = 0;
</del><ins>+    if (!userAgentString)
+        return E_POINTER;
+
+    *userAgentString = nullptr;
</ins><span class="cx">     if (!m_userAgentOverridden)
</span><span class="cx">         return S_OK;
</span><span class="cx">     *userAgentString = BString(m_userAgentCustom).release();
</span><span class="lines">@@ -3353,10 +3328,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::userAgentForURL( 
-    /* [in] */ BSTR url,
-    /* [retval][out] */ BSTR* userAgent)
</del><ins>+HRESULT WebView::userAgentForURL(_In_ BSTR url, _Deref_opt_out_ BSTR* userAgent)
</ins><span class="cx"> {
</span><ins>+    if (!userAgent)
+        return E_POINTER;
+
</ins><span class="cx">     String userAgentString = userAgentForKURL(MarshallingHelpers::BSTRToKURL(url));
</span><span class="cx">     *userAgent = BString(userAgentString).release();
</span><span class="cx">     if (!*userAgent &amp;&amp; userAgentString.length())
</span><span class="lines">@@ -3364,18 +3340,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::supportsTextEncoding( 
-    /* [retval][out] */ BOOL* supports)
</del><ins>+HRESULT WebView::supportsTextEncoding(_Out_ BOOL* supports)
</ins><span class="cx"> {
</span><ins>+    if (!supports)
+        return E_POINTER;
+
</ins><span class="cx">     *supports = TRUE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setCustomTextEncodingName( 
-    /* [in] */ BSTR encodingName)
</del><ins>+HRESULT WebView::setCustomTextEncodingName(_In_ BSTR encodingName)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     HRESULT hr;
</span><span class="cx">     BString oldEncoding;
</span><span class="lines">@@ -3391,16 +3368,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::customTextEncodingName( 
-    /* [retval][out] */ BSTR* encodingName)
</del><ins>+HRESULT WebView::customTextEncodingName(_Deref_opt_out_ BSTR* encodingName)
</ins><span class="cx"> {
</span><ins>+    if (!encodingName)
+        return E_POINTER;
+
</ins><span class="cx">     HRESULT hr = S_OK;
</span><span class="cx">     COMPtr&lt;IWebDataSource&gt; dataSource;
</span><span class="cx">     COMPtr&lt;WebDataSource&gt; dataSourceImpl;
</span><del>-    *encodingName = 0;
</del><ins>+    *encodingName = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     if (FAILED(m_mainFrame-&gt;provisionalDataSource(&amp;dataSource)) || !dataSource) {
</span><span class="cx">         hr = m_mainFrame-&gt;dataSource(&amp;dataSource);
</span><span class="lines">@@ -3425,34 +3404,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setMediaStyle( 
-    /* [in] */ BSTR /*media*/)
</del><ins>+HRESULT WebView::setMediaStyle(_In_ BSTR /*media*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::mediaStyle( 
-    /* [retval][out] */ BSTR* /*media*/)
</del><ins>+HRESULT WebView::mediaStyle(_Deref_opt_out_ BSTR* /*media*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::stringByEvaluatingJavaScriptFromString( 
-    /* [in] */ BSTR script, // assumes input does not have &quot;JavaScript&quot; at the begining.
-    /* [retval][out] */ BSTR* result)
</del><ins>+HRESULT WebView::stringByEvaluatingJavaScriptFromString(_In_ BSTR script, // assumes input does not have &quot;JavaScript&quot; at the begining.
+    _Deref_opt_out_ BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *result = 0;
</del><ins>+    *result = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* coreFrame = core(m_mainFrame);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     JSC::JSValue scriptExecutionResult = coreFrame-&gt;script().executeScript(WTF::String(script), true).jsValue();
</span><span class="cx">     if (!scriptExecutionResult)
</span><span class="lines">@@ -3466,15 +3442,16 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::windowScriptObject( 
-    /* [retval][out] */ IWebScriptObject** /*webScriptObject*/)
</del><ins>+HRESULT WebView::windowScriptObject(_COM_Outptr_opt_ IWebScriptObject** webScriptObject)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!webScriptObject)
+        return E_POINTER;
+    *webScriptObject = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setPreferences( 
-    /* [in] */ IWebPreferences* prefs)
</del><ins>+HRESULT WebView::setPreferences(_In_opt_ IWebPreferences* prefs)
</ins><span class="cx"> {
</span><span class="cx">     if (!prefs)
</span><span class="cx">         prefs = WebPreferences::sharedStandardPreferences();
</span><span class="lines">@@ -3509,8 +3486,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::preferences( 
-    /* [retval][out] */ IWebPreferences** prefs)
</del><ins>+HRESULT WebView::preferences(_COM_Outptr_opt_ IWebPreferences** prefs)
</ins><span class="cx"> {
</span><span class="cx">     if (!prefs)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -3520,15 +3496,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setPreferencesIdentifier( 
-    /* [in] */ BSTR /*anIdentifier*/)
</del><ins>+HRESULT WebView::setPreferencesIdentifier(_In_ BSTR /*anIdentifier*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::preferencesIdentifier( 
-    /* [retval][out] */ BSTR* /*anIdentifier*/)
</del><ins>+HRESULT WebView::preferencesIdentifier(_Deref_opt_out_ BSTR* /*anIdentifier*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -3594,7 +3568,7 @@
</span><span class="cx">     KillTimer(m_viewWindow, DeleteBackingStoreTimer);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::setHostWindow(/* [in] */ HWND window)
</del><ins>+HRESULT WebView::setHostWindow(_In_ HWND window)
</ins><span class="cx"> {
</span><span class="cx">     if (m_viewWindow) {
</span><span class="cx">         if (window)
</span><span class="lines">@@ -3618,8 +3592,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::hostWindow(/* [retval][out] */ HWND* window)
</del><ins>+HRESULT WebView::hostWindow(_Deref_opt_out_ HWND* window)
</ins><span class="cx"> {
</span><ins>+    if (!window)
+        return E_POINTER;
+
</ins><span class="cx">     *window = m_hostWindow;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -3632,18 +3609,13 @@
</span><span class="cx">         : curr-&gt;tree().traversePreviousWithWrap(wrapFlag);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::searchFor( 
-    /* [in] */ BSTR str,
-    /* [in] */ BOOL forward,
-    /* [in] */ BOOL caseFlag,
-    /* [in] */ BOOL wrapFlag,
-    /* [retval][out] */ BOOL* found)
</del><ins>+HRESULT WebView::searchFor(_In_ BSTR str, BOOL forward, BOOL caseFlag, BOOL wrapFlag, _Out_ BOOL* found)
</ins><span class="cx"> {
</span><span class="cx">     if (!found)
</span><span class="cx">         return E_INVALIDARG;
</span><span class="cx">     
</span><span class="cx">     if (!m_page)
</span><del>-        return E_UNEXPECTED;
</del><ins>+        return E_FAIL;
</ins><span class="cx"> 
</span><span class="cx">     if (!str || !SysStringLen(str))
</span><span class="cx">         return E_INVALIDARG;
</span><span class="lines">@@ -3664,10 +3636,11 @@
</span><span class="cx"> 
</span><span class="cx"> void WebView::updateActiveState()
</span><span class="cx"> {
</span><del>-    m_page-&gt;focusController().setActive(active());
</del><ins>+    if (m_page)
+        m_page-&gt;focusController().setActive(active());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::updateFocusedAndActiveState()
</del><ins>+HRESULT WebView::updateFocusedAndActiveState()
</ins><span class="cx"> {
</span><span class="cx">     updateActiveState();
</span><span class="cx"> 
</span><span class="lines">@@ -3679,28 +3652,33 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::executeCoreCommandByName(BSTR name, BSTR value)
</del><ins>+HRESULT WebView::executeCoreCommandByName(_In_ BSTR name, _In_ BSTR value)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().editor().command(toString(name)).execute(toString(value));
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::clearMainFrameName()
</del><ins>+HRESULT WebView::clearMainFrameName()
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;mainFrame().tree().clearName();
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::markAllMatchesForText(
-    BSTR str, BOOL caseSensitive, BOOL highlight, UINT limit, UINT* matches)
</del><ins>+HRESULT WebView::markAllMatchesForText(_In_ BSTR str, BOOL caseSensitive, BOOL highlight, UINT limit, _Out_ UINT* matches)
</ins><span class="cx"> {
</span><span class="cx">     if (!matches)
</span><span class="cx">         return E_INVALIDARG;
</span><span class="cx"> 
</span><span class="cx">     if (!m_page)
</span><del>-        return E_UNEXPECTED;
</del><ins>+        return E_FAIL;
</ins><span class="cx"> 
</span><span class="cx">     if (!str || !SysStringLen(str))
</span><span class="cx">         return E_INVALIDARG;
</span><span class="lines">@@ -3709,18 +3687,23 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::unmarkAllTextMatches()
</del><ins>+HRESULT WebView::unmarkAllTextMatches()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><del>-        return E_UNEXPECTED;
</del><ins>+        return E_FAIL;
</ins><span class="cx"> 
</span><span class="cx">     m_page-&gt;unmarkAllTextMatches();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::rectsForTextMatches(
-    IEnumTextMatches** pmatches)
</del><ins>+HRESULT WebView::rectsForTextMatches(_COM_Outptr_opt_ IEnumTextMatches** pmatches)
</ins><span class="cx"> {
</span><ins>+    if (!pmatches)
+        return E_POINTER;
+    *pmatches = nullptr;
+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     Vector&lt;IntRect&gt; allRects;
</span><span class="cx">     WebCore::Frame* frame = &amp;m_page-&gt;mainFrame();
</span><span class="cx">     do {
</span><span class="lines">@@ -3743,10 +3726,16 @@
</span><span class="cx">     return createMatchEnumerator(&amp;allRects, pmatches);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::generateSelectionImage(BOOL forceWhiteText, HBITMAP* hBitmap)
</del><ins>+HRESULT WebView::generateSelectionImage(BOOL forceWhiteText, _Deref_opt_out_ HBITMAP* hBitmap)
</ins><span class="cx"> {
</span><del>-    *hBitmap = 0;
</del><ins>+    if (!hBitmap)
+        return E_POINTER;
</ins><span class="cx"> 
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
+    *hBitmap = nullptr;
+
</ins><span class="cx">     WebCore::Frame&amp; frame = m_page-&gt;focusController().focusedOrMainFrame();
</span><span class="cx"> 
</span><span class="cx">     auto bitmap = imageFromSelection(&amp;frame, forceWhiteText ? TRUE : FALSE);
</span><span class="lines">@@ -3755,8 +3744,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::selectionRect(RECT* rc)
</del><ins>+HRESULT WebView::selectionRect(_Inout_ RECT* rc)
</ins><span class="cx"> {
</span><ins>+    if (!rc)
+        return E_POINTER;
+
+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     WebCore::Frame&amp; frame = m_page-&gt;focusController().focusedOrMainFrame();
</span><span class="cx"> 
</span><span class="cx">     IntRect ir = enclosingIntRect(frame.selection().selectionBounds());
</span><span class="lines">@@ -3772,17 +3767,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::registerViewClass( 
-    /* [in] */ IWebDocumentView* /*view*/,
-    /* [in] */ IWebDocumentRepresentation* /*representation*/,
-    /* [in] */ BSTR /*forMIMEType*/)
</del><ins>+HRESULT WebView::registerViewClass(_In_opt_ IWebDocumentView*, _In_opt_ IWebDocumentRepresentation*, _In_ BSTR /*forMIMEType*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setGroupName( 
-        /* [in] */ BSTR groupName)
</del><ins>+HRESULT WebView::setGroupName(_In_ BSTR groupName)
</ins><span class="cx"> {
</span><span class="cx">     if (m_webViewGroup)
</span><span class="cx">         m_webViewGroup-&gt;removeWebView(this);
</span><span class="lines">@@ -3799,10 +3790,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::groupName( 
-        /* [retval][out] */ BSTR* groupName)
</del><ins>+HRESULT WebView::groupName(_Deref_opt_out_ BSTR* groupName)
</ins><span class="cx"> {
</span><del>-    *groupName = 0;
</del><ins>+    if (!groupName)
+        return E_POINTER;
+
+    *groupName = nullptr;
</ins><span class="cx">     if (!m_page)
</span><span class="cx">         return S_OK;
</span><span class="cx">     String groupNameString = m_page-&gt;groupName();
</span><span class="lines">@@ -3812,15 +3805,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::estimatedProgress( 
-        /* [retval][out] */ double* estimatedProgress)
</del><ins>+HRESULT WebView::estimatedProgress(_Out_ double* estimatedProgress)
</ins><span class="cx"> {
</span><ins>+    if (!estimatedProgress)
+        return E_POINTER;
</ins><span class="cx">     *estimatedProgress = m_page-&gt;progress().estimatedProgress();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::isLoading( 
-        /* [retval][out] */ BOOL* isLoading)
</del><ins>+HRESULT WebView::isLoading(_Out_ BOOL* isLoading)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;IWebDataSource&gt; dataSource;
</span><span class="cx">     COMPtr&lt;IWebDataSource&gt; provisionalDataSource;
</span><span class="lines">@@ -3831,7 +3824,7 @@
</span><span class="cx">     *isLoading = FALSE;
</span><span class="cx"> 
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     if (SUCCEEDED(m_mainFrame-&gt;dataSource(&amp;dataSource)))
</span><span class="cx">         dataSource-&gt;isLoading(isLoading);
</span><span class="lines">@@ -3844,18 +3837,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT WebView::elementAtPoint(LPPOINT point, IPropertyBag** elementDictionary)
</del><ins>+HRESULT WebView::elementAtPoint(_In_ LPPOINT point, _COM_Outptr_opt_ IPropertyBag** elementDictionary)
</ins><span class="cx"> {
</span><del>-    if (!elementDictionary) {
</del><ins>+    if (!elementDictionary || !point) {
</ins><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *elementDictionary = 0;
</del><ins>+    *elementDictionary = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* frame = core(m_mainFrame);
</span><span class="cx">     if (!frame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     IntPoint webCorePoint = IntPoint(point-&gt;x, point-&gt;y);
</span><span class="cx">     float inverseScaleFactor = 1.0f / deviceScaleFactor();
</span><span class="lines">@@ -3867,49 +3860,44 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::pasteboardTypesForSelection( 
-    /* [retval][out] */ IEnumVARIANT** /*enumVariant*/)
</del><ins>+HRESULT WebView::pasteboardTypesForSelection(_COM_Outptr_opt_ IEnumVARIANT** enumVariant)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!enumVariant)
+        return E_POINTER;
+    *enumVariant = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::writeSelectionWithPasteboardTypes( 
-        /* [size_is][in] */ BSTR* /*types*/,
-        /* [in] */ int /*cTypes*/,
-        /* [in] */ IDataObject* /*pasteboard*/)
</del><ins>+HRESULT WebView::writeSelectionWithPasteboardTypes(__inout_ecount_full(cTypes) BSTR* types, int cTypes, _In_opt_ IDataObject* /*pasteboard*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::pasteboardTypesForElement( 
-    /* [in] */ IPropertyBag* /*elementDictionary*/,
-    /* [retval][out] */ IEnumVARIANT** /*enumVariant*/)
</del><ins>+HRESULT WebView::pasteboardTypesForElement(_In_opt_ IPropertyBag* /*elementDictionary*/, _COM_Outptr_opt_ IEnumVARIANT** enumVariant)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!enumVariant)
+        return E_POINTER;
+    *enumVariant = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::writeElement( 
-        /* [in] */ IPropertyBag* /*elementDictionary*/,
-        /* [size_is][in] */ BSTR* /*withPasteboardTypes*/,
-        /* [in] */ int /*cWithPasteboardTypes*/,
-        /* [in] */ IDataObject* /*pasteboard*/)
</del><ins>+HRESULT WebView::writeElement(_In_opt_ IPropertyBag* /*elementDictionary*/, __inout_ecount_full(cWithPasteboardTypes) BSTR* withPasteboardTypes, int cWithPasteboardTypes, _In_opt_ IDataObject* /*pasteboard*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::selectedText(
-        /* [out, retval] */ BSTR* text)
</del><ins>+HRESULT WebView::selectedText(_Deref_opt_out_ BSTR* text)
</ins><span class="cx"> {
</span><span class="cx">     if (!text) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *text = 0;
</del><ins>+    *text = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     Frame* focusedFrame = m_page ? &amp;m_page-&gt;focusController().focusedOrMainFrame() : 0;
</span><span class="cx">     if (!focusedFrame)
</span><span class="lines">@@ -3922,60 +3910,54 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::centerSelectionInVisibleArea(
-        /* [in] */ IUnknown* /* sender */)
</del><ins>+HRESULT WebView::centerSelectionInVisibleArea(_In_opt_ IUnknown* /* sender */)
</ins><span class="cx"> {
</span><span class="cx">     Frame* coreFrame = core(m_mainFrame);
</span><span class="cx">     if (!coreFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     coreFrame-&gt;selection().revealSelection(ScrollAlignment::alignCenterAlways);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::moveDragCaretToPoint( 
-        /* [in] */ LPPOINT /*point*/)
</del><ins>+HRESULT WebView::moveDragCaretToPoint(_In_ LPPOINT /*point*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::removeDragCaret( void)
</del><ins>+HRESULT WebView::removeDragCaret()
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setDrawsBackground( 
-        /* [in] */ BOOL /*drawsBackground*/)
</del><ins>+HRESULT WebView::setDrawsBackground(BOOL /*drawsBackground*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::drawsBackground( 
-        /* [retval][out] */ BOOL* /*drawsBackground*/)
</del><ins>+HRESULT WebView::drawsBackground(_Out_ BOOL* /*drawsBackground*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setMainFrameURL( 
-        /* [in] */ BSTR /*urlString*/)
</del><ins>+HRESULT WebView::setMainFrameURL(_In_ BSTR /*urlString*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::mainFrameURL( 
-        /* [retval][out] */ BSTR* urlString)
</del><ins>+HRESULT WebView::mainFrameURL(_Deref_opt_out_ BSTR* urlString)
</ins><span class="cx"> {
</span><span class="cx">     if (!urlString)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     COMPtr&lt;IWebDataSource&gt; dataSource;
</span><span class="cx"> 
</span><span class="lines">@@ -3985,7 +3967,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!dataSource) {
</span><del>-        *urlString = 0;
</del><ins>+        *urlString = nullptr;
</ins><span class="cx">         return S_OK;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -3999,31 +3981,31 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::mainFrameDocument( 
-        /* [retval][out] */ IDOMDocument** document)
</del><ins>+HRESULT WebView::mainFrameDocument(_COM_Outptr_opt_ IDOMDocument** document)
</ins><span class="cx"> {
</span><del>-    if (document)
-        *document = 0;
</del><ins>+    if (!document)
+        return E_POINTER;
+
+    *document = nullptr;
+
</ins><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx">     return m_mainFrame-&gt;DOMDocument(document);
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::mainFrameTitle( 
-        /* [retval][out] */ BSTR* /*title*/)
</del><ins>+HRESULT WebView::mainFrameTitle(_Deref_opt_out_ BSTR* /*title*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT WebView::mainFrameIcon(/* [retval][out] */ HBITMAP* /*hBitmap*/)
</del><ins>+HRESULT WebView::mainFrameIcon(_Deref_opt_out_ HBITMAP* /*hBitmap*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::registerURLSchemeAsLocal( 
-        /* [in] */ BSTR scheme)
</del><ins>+HRESULT WebView::registerURLSchemeAsLocal(_In_ BSTR scheme)
</ins><span class="cx"> {
</span><span class="cx">     if (!scheme)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -4035,56 +4017,53 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebIBActions ---------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::takeStringURLFrom( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::takeStringURLFrom(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::stopLoading( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::stopLoading(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     return m_mainFrame-&gt;stopLoading();
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::reload( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::reload(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     return m_mainFrame-&gt;reload();
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canGoBack( 
-        /* [in] */ IUnknown* /*sender*/,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canGoBack(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     *result = !!(m_page-&gt;backForward().backItem() &amp;&amp; !m_page-&gt;defersLoading());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::goBack( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::goBack(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canGoForward( 
-        /* [in] */ IUnknown* /*sender*/,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canGoForward(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    
</ins><span class="cx">     *result = !!(m_page-&gt;backForward().forwardItem() &amp;&amp; !m_page-&gt;defersLoading());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::goForward( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT STDMETHODCALLTYPE WebView::goForward(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -4095,19 +4074,21 @@
</span><span class="cx"> #define MaximumZoomMultiplier   3.0f
</span><span class="cx"> #define ZoomMultiplierRatio     1.2f
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canMakeTextLarger( 
-        /* [in] */ IUnknown* /*sender*/,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canMakeTextLarger(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     bool canGrowMore = canZoomIn(m_zoomsTextOnly);
</span><span class="cx">     *result = canGrowMore ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canZoomPageIn( 
-        /* [in] */ IUnknown* /*sender*/,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canZoomPageIn(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     bool canGrowMore = canZoomIn(false);
</span><span class="cx">     *result = canGrowMore ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -4118,14 +4099,12 @@
</span><span class="cx">     return zoomMultiplier(isTextOnly) * ZoomMultiplierRatio &lt; MaximumZoomMultiplier;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::makeTextLarger( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::makeTextLarger(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return zoomIn(m_zoomsTextOnly);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::zoomPageIn( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::zoomPageIn(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return zoomIn(false);
</span><span class="cx"> }
</span><span class="lines">@@ -4138,19 +4117,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canMakeTextSmaller( 
-        /* [in] */ IUnknown* /*sender*/,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canMakeTextSmaller(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     bool canShrinkMore = canZoomOut(m_zoomsTextOnly);
</span><span class="cx">     *result = canShrinkMore ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canZoomPageOut( 
-        /* [in] */ IUnknown* /*sender*/,
-        /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canZoomPageOut(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     bool canShrinkMore = canZoomOut(false);
</span><span class="cx">     *result = canShrinkMore ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -4161,14 +4142,12 @@
</span><span class="cx">     return zoomMultiplier(isTextOnly) / ZoomMultiplierRatio &gt; MinimumZoomMultiplier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::makeTextSmaller( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::makeTextSmaller(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return zoomOut(m_zoomsTextOnly);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::zoomPageOut( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::zoomPageOut(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return zoomOut(false);
</span><span class="cx"> }
</span><span class="lines">@@ -4181,20 +4160,22 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canMakeTextStandardSize( 
-    /* [in] */ IUnknown* /*sender*/,
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canMakeTextStandardSize(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     // Since we always reset text zoom and page zoom together, this should continue to return an answer about text zoom even if its not enabled.
</span><span class="cx">     bool notAlreadyStandard = canResetZoom(true);
</span><span class="cx">     *result = notAlreadyStandard ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canResetPageZoom( 
-    /* [in] */ IUnknown* /*sender*/,
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::canResetPageZoom(_In_opt_ IUnknown* /*sender*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     bool notAlreadyStandard = canResetZoom(false);
</span><span class="cx">     *result = notAlreadyStandard ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -4205,14 +4186,12 @@
</span><span class="cx">     return zoomMultiplier(isTextOnly) != 1.0f;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::makeTextStandardSize( 
-    /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::makeTextStandardSize(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return resetZoom(true);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::resetPageZoom( 
-    /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::resetPageZoom(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return resetZoom(false);
</span><span class="cx"> }
</span><span class="lines">@@ -4225,8 +4204,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::toggleContinuousSpellChecking( 
-    /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::toggleContinuousSpellChecking(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     HRESULT hr;
</span><span class="cx">     BOOL enabled;
</span><span class="lines">@@ -4235,8 +4213,7 @@
</span><span class="cx">     return setContinuousSpellCheckingEnabled(enabled ? FALSE : TRUE);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::toggleSmartInsertDelete( 
-    /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::toggleSmartInsertDelete(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     BOOL enabled = FALSE;
</span><span class="cx">     HRESULT hr = smartInsertDeleteEnabled(&amp;enabled);
</span><span class="lines">@@ -4246,8 +4223,7 @@
</span><span class="cx">     return setSmartInsertDeleteEnabled(enabled ? FALSE : TRUE);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::toggleGrammarChecking( 
-    /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::toggleGrammarChecking(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     BOOL enabled;
</span><span class="cx">     HRESULT hr = isGrammarCheckingEnabled(&amp;enabled);
</span><span class="lines">@@ -4257,52 +4233,52 @@
</span><span class="cx">     return setGrammarCheckingEnabled(enabled ? FALSE : TRUE);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::reloadFromOrigin( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::reloadFromOrigin(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     return m_mainFrame-&gt;reloadFromOrigin();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebViewCSS -----------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::computedStyleForElement( 
-        /* [in] */ IDOMElement* /*element*/,
-        /* [in] */ BSTR /*pseudoElement*/,
-        /* [retval][out] */ IDOMCSSStyleDeclaration** /*style*/)
</del><ins>+HRESULT WebView::computedStyleForElement(_In_opt_ IDOMElement* /*element*/, _In_ BSTR /*pseudoElement*/, _COM_Outptr_opt_ IDOMCSSStyleDeclaration** style)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!style)
+        return E_POINTER;
+    *style = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebViewEditing -------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::editableDOMRangeForPoint( 
-        /* [in] */ LPPOINT /*point*/,
-        /* [retval][out] */ IDOMRange** /*range*/)
</del><ins>+HRESULT WebView::editableDOMRangeForPoint(_In_ LPPOINT /*point*/, _COM_Outptr_opt_ IDOMRange** range)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!range)
+        return E_POINTER;
+    *range = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setSelectedDOMRange( 
-        /* [in] */ IDOMRange* /*range*/,
-        /* [in] */ WebSelectionAffinity /*affinity*/)
</del><ins>+HRESULT WebView::setSelectedDOMRange(_In_opt_ IDOMRange* /*range*/,  WebSelectionAffinity /*affinity*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT WebView::selectedDOMRange(IDOMRange** range)
</del><ins>+HRESULT WebView::selectedDOMRange(_COM_Outptr_opt_ IDOMRange** range)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!range)
+        return E_POINTER;
+    *range = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::selectionAffinity( 
-        /* [retval][out][retval][out] */ WebSelectionAffinity* /*affinity*/)
</del><ins>+HRESULT WebView::selectionAffinity(_Out_ WebSelectionAffinity*)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -4323,7 +4299,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT WebView::isEditable(BOOL* isEditable)
</del><ins>+HRESULT WebView::isEditable(_Out_ BOOL* isEditable)
</ins><span class="cx"> {
</span><span class="cx">     if (!isEditable)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -4338,22 +4314,22 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setTypingStyle( 
-        /* [in] */ IDOMCSSStyleDeclaration* /*style*/)
</del><ins>+HRESULT WebView::setTypingStyle(_In_opt_ IDOMCSSStyleDeclaration* /*style*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::typingStyle( 
-        /* [retval][out] */ IDOMCSSStyleDeclaration** /*style*/)
</del><ins>+HRESULT WebView::typingStyle(_COM_Outptr_opt_ IDOMCSSStyleDeclaration** style)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!style)
+        return E_POINTER;
+    *style = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setSmartInsertDeleteEnabled( 
-        /* [in] */ BOOL flag)
</del><ins>+HRESULT WebView::setSmartInsertDeleteEnabled(BOOL flag)
</ins><span class="cx"> {
</span><span class="cx">     if (m_page-&gt;settings().smartInsertDeleteEnabled() != !!flag) {
</span><span class="cx">         m_page-&gt;settings().setSmartInsertDeleteEnabled(!!flag);
</span><span class="lines">@@ -4362,16 +4338,20 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::smartInsertDeleteEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::smartInsertDeleteEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     *enabled = m_page-&gt;settings().smartInsertDeleteEnabled() ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">  
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setSelectTrailingWhitespaceEnabled( 
-        /* [in] */ BOOL flag)
</del><ins>+HRESULT WebView::setSelectTrailingWhitespaceEnabled(BOOL flag)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     if (m_page-&gt;settings().selectTrailingWhitespaceEnabled() != !!flag) {
</span><span class="cx">         m_page-&gt;settings().setSelectTrailingWhitespaceEnabled(!!flag);
</span><span class="cx">         setSmartInsertDeleteEnabled(!flag);
</span><span class="lines">@@ -4379,15 +4359,16 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::isSelectTrailingWhitespaceEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::isSelectTrailingWhitespaceEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     *enabled = m_page-&gt;settings().selectTrailingWhitespaceEnabled() ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setContinuousSpellCheckingEnabled( 
-        /* [in] */ BOOL flag)
</del><ins>+HRESULT WebView::setContinuousSpellCheckingEnabled(BOOL flag)
</ins><span class="cx"> {
</span><span class="cx">     if (continuousSpellCheckingEnabled != !!flag) {
</span><span class="cx">         continuousSpellCheckingEnabled = !!flag;
</span><span class="lines">@@ -4405,16 +4386,20 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::isContinuousSpellCheckingEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::isContinuousSpellCheckingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     *enabled = (continuousSpellCheckingEnabled &amp;&amp; continuousCheckingAllowed()) ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::spellCheckerDocumentTag( 
-        /* [retval][out] */ int* tag)
</del><ins>+HRESULT WebView::spellCheckerDocumentTag(_Out_ int* tag)
</ins><span class="cx"> {
</span><ins>+    if (!tag)
+        return E_POINTER;
+
</ins><span class="cx">     // we just use this as a flag to indicate that we've spell checked the document
</span><span class="cx">     // and need to close the spell checker out when the view closes.
</span><span class="cx">     *tag = 0;
</span><span class="lines">@@ -4466,14 +4451,16 @@
</span><span class="cx">     return allowContinuousSpellChecking;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::undoManager( 
-        /* [retval][out] */ IWebUndoManager** /*manager*/)
</del><ins>+HRESULT WebView::undoManager(_COM_Outptr_opt_ IWebUndoManager** manager)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!manager)
+        return E_POINTER;
+    *manager = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT WebView::setEditingDelegate(IWebEditingDelegate* d)
</del><ins>+HRESULT WebView::setEditingDelegate(_In_opt_ IWebEditingDelegate* d)
</ins><span class="cx"> {
</span><span class="cx">     if (m_editingDelegate == d)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -4509,8 +4496,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::editingDelegate( 
-        /* [retval][out] */ IWebEditingDelegate** d)
</del><ins>+HRESULT WebView::editingDelegate(_COM_Outptr_opt_ IWebEditingDelegate** d)
</ins><span class="cx"> {
</span><span class="cx">     if (!d) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -4525,68 +4511,82 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::styleDeclarationWithText( 
-        /* [in] */ BSTR /*text*/,
-        /* [retval][out] */ IDOMCSSStyleDeclaration** /*style*/)
</del><ins>+HRESULT WebView::styleDeclarationWithText(_In_ BSTR /*text*/, _COM_Outptr_opt_ IDOMCSSStyleDeclaration** style)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><ins>+    if (!style)
+        return E_POINTER;
+    *style = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::hasSelectedRange( 
-        /* [retval][out] */ BOOL* hasSelectedRange)
</del><ins>+HRESULT WebView::hasSelectedRange(_Out_ BOOL* hasSelectedRange)
</ins><span class="cx"> {
</span><ins>+    if (!hasSelectedRange)
+        return E_POINTER;
+
</ins><span class="cx">     *hasSelectedRange = m_page-&gt;mainFrame().selection().isRange();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::cutEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::cutEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     Editor&amp; editor = m_page-&gt;focusController().focusedOrMainFrame().editor();
</span><span class="cx">     *enabled = editor.canCut() || editor.canDHTMLCut();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::copyEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::copyEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     Editor&amp; editor = m_page-&gt;focusController().focusedOrMainFrame().editor();
</span><span class="cx">     *enabled = editor.canCopy() || editor.canDHTMLCopy();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::pasteEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::pasteEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     Editor&amp; editor = m_page-&gt;focusController().focusedOrMainFrame().editor();
</span><span class="cx">     *enabled = editor.canPaste() || editor.canDHTMLPaste();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::deleteEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::deleteEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     *enabled = m_page-&gt;focusController().focusedOrMainFrame().editor().canDelete();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::editingEnabled( 
-        /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::editingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     *enabled = m_page-&gt;focusController().focusedOrMainFrame().editor().canEdit();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::isGrammarCheckingEnabled( 
-    /* [retval][out] */ BOOL* enabled)
</del><ins>+HRESULT WebView::isGrammarCheckingEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><ins>+    if (!enabled)
+        return E_POINTER;
+
</ins><span class="cx">     *enabled = grammarCheckingEnabled ? TRUE : FALSE;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setGrammarCheckingEnabled( 
-    BOOL enabled)
</del><ins>+HRESULT WebView::setGrammarCheckingEnabled(BOOL enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_editingDelegate) {
</span><span class="cx">         LOG_ERROR(&quot;No NSSpellChecker&quot;);
</span><span class="lines">@@ -4615,51 +4615,55 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebViewUndoableEditing -----------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithNode( 
-        /* [in] */ IDOMNode* /*node*/)
</del><ins>+HRESULT WebView::replaceSelectionWithNode(_In_opt_ IDOMNode* /*node*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithText( 
-        /* [in] */ BSTR text)
</del><ins>+HRESULT WebView::replaceSelectionWithText(_In_ BSTR text)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     Position start = m_page-&gt;mainFrame().selection().selection().start();
</span><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().editor().insertText(toString(text), 0);
</span><span class="cx">     m_page-&gt;mainFrame().selection().setBase(start);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithMarkupString( 
-        /* [in] */ BSTR /*markupString*/)
</del><ins>+HRESULT WebView::replaceSelectionWithMarkupString(_In_ BSTR /*markupString*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithArchive( 
-        /* [in] */ IWebArchive* /*archive*/)
</del><ins>+HRESULT WebView::replaceSelectionWithArchive(_In_opt_ IWebArchive* /*archive*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::deleteSelection( void)
</del><ins>+HRESULT WebView::deleteSelection()
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     Editor&amp; editor = m_page-&gt;focusController().focusedOrMainFrame().editor();
</span><span class="cx">     editor.deleteSelectionWithSmartDelete(editor.canSmartCopyOrDelete());
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::clearSelection( void)
</del><ins>+HRESULT WebView::clearSelection()
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().selection().clear();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::applyStyle( 
-        /* [in] */ IDOMCSSStyleDeclaration* /*style*/)
</del><ins>+HRESULT WebView::applyStyle(_In_opt_ IDOMCSSStyleDeclaration* /*style*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -4667,128 +4671,124 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebViewEditingActions ------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::copy( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::copy(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().editor().command(&quot;Copy&quot;).execute();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::cut( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::cut(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().editor().command(&quot;Cut&quot;).execute();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::paste( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::paste(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().editor().command(&quot;Paste&quot;).execute();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::copyURL( 
-        /* [in] */ BSTR url)
</del><ins>+HRESULT WebView::copyURL(_In_ BSTR url)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().editor().copyURL(MarshallingHelpers::BSTRToKURL(url), &quot;&quot;);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
-HRESULT STDMETHODCALLTYPE WebView::copyFont( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::copyFont(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::pasteFont( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::pasteFont(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::delete_( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::delete_(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;focusController().focusedOrMainFrame().editor().command(&quot;Delete&quot;).execute();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::pasteAsPlainText( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::pasteAsPlainText(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::pasteAsRichText( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::pasteAsRichText(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::changeFont( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::changeFont(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::changeAttributes( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::changeAttributes(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::changeDocumentBackgroundColor( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::changeDocumentBackgroundColor(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::changeColor( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::changeColor(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::alignCenter( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::alignCenter(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::alignJustified( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::alignJustified(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::alignLeft( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::alignLeft(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::alignRight( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::alignRight(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::checkSpelling( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::checkSpelling(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_editingDelegate) {
</span><span class="cx">         LOG_ERROR(&quot;No NSSpellChecker&quot;);
</span><span class="lines">@@ -4799,8 +4799,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::showGuessPanel( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::showGuessPanel(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_editingDelegate) {
</span><span class="cx">         LOG_ERROR(&quot;No NSSpellChecker&quot;);
</span><span class="lines">@@ -4819,22 +4818,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::performFindPanelAction( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::performFindPanelAction(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::startSpeaking( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::startSpeaking(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::stopSpeaking( 
-        /* [in] */ IUnknown* /*sender*/)
</del><ins>+HRESULT WebView::stopSpeaking(_In_opt_ IUnknown* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_NOTIMPL;
</span><span class="lines">@@ -4842,9 +4838,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebNotificationObserver -----------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::onNotify( 
-    /* [in] */ IWebNotification* notification)
</del><ins>+HRESULT WebView::onNotify(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><ins>+    if (!notification)
+        return E_POINTER;
+
</ins><span class="cx">     BString name;
</span><span class="cx">     HRESULT hr = notification-&gt;name(&amp;name);
</span><span class="cx">     if (FAILED(hr))
</span><span class="lines">@@ -4861,6 +4859,9 @@
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification)
</span><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     HRESULT hr;
</span><span class="cx"> 
</span><span class="cx">     COMPtr&lt;IUnknown&gt; unkPrefs;
</span><span class="lines">@@ -4877,7 +4878,7 @@
</span><span class="cx">     BString str;
</span><span class="cx">     int size;
</span><span class="cx">     unsigned javaScriptRuntimeFlags;
</span><del>-    BOOL enabled;
</del><ins>+    BOOL enabled = FALSE;
</ins><span class="cx"> 
</span><span class="cx">     Settings&amp; settings = m_page-&gt;settings();
</span><span class="cx"> 
</span><span class="lines">@@ -5284,9 +5285,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebViewPrivate ------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::MIMETypeForExtension(
-    /* [in] */ BSTR extension,
-    /* [retval][out] */ BSTR* mimeType)
</del><ins>+HRESULT WebView::MIMETypeForExtension(_In_ BSTR extension, _Deref_opt_out_ BSTR* mimeType)
</ins><span class="cx"> {
</span><span class="cx">     if (!mimeType)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -5296,8 +5295,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setCustomDropTarget(
-    /* [in] */ IDropTarget* dt)
</del><ins>+HRESULT WebView::setCustomDropTarget(_In_opt_ IDropTarget* dt)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(::IsWindow(m_viewWindow));
</span><span class="cx">     if (!dt)
</span><span class="lines">@@ -5307,7 +5305,7 @@
</span><span class="cx">     return ::RegisterDragDrop(m_viewWindow,dt);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::removeCustomDropTarget()
</del><ins>+HRESULT WebView::removeCustomDropTarget()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_hasCustomDropTarget)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -5316,42 +5314,43 @@
</span><span class="cx">     return registerDragDrop();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setInViewSourceMode( 
-        /* [in] */ BOOL flag)
</del><ins>+HRESULT WebView::setInViewSourceMode(BOOL)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT STDMETHODCALLTYPE WebView::inViewSourceMode( 
-        /* [retval][out] */ BOOL* flag)
</del><ins>+HRESULT WebView::inViewSourceMode(_Out_ BOOL*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::viewWindow(/* [retval][out] */ HWND* window)
</del><ins>+HRESULT WebView::viewWindow(_Deref_opt_out_ HWND* window)
</ins><span class="cx"> {
</span><ins>+    if (!window)
+        return E_POINTER;
+
</ins><span class="cx">     *window = m_viewWindow;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setFormDelegate( 
-    /* [in] */ IWebFormDelegate *formDelegate)
</del><ins>+HRESULT WebView::setFormDelegate(_In_opt_ IWebFormDelegate* formDelegate)
</ins><span class="cx"> {
</span><span class="cx">     m_formDelegate = formDelegate;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::formDelegate( 
-    /* [retval][out] */ IWebFormDelegate **formDelegate)
</del><ins>+HRESULT WebView::formDelegate(_COM_Outptr_opt_ IWebFormDelegate** formDelegate)
</ins><span class="cx"> {
</span><ins>+    if (!formDelegate)
+        return E_POINTER;
+    *formDelegate = nullptr;
</ins><span class="cx">     if (!m_formDelegate)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_formDelegate.copyRefTo(formDelegate);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setFrameLoadDelegatePrivate( 
-    /* [in] */ IWebFrameLoadDelegatePrivate* d)
</del><ins>+HRESULT WebView::setFrameLoadDelegatePrivate(_In_opt_ IWebFrameLoadDelegatePrivate* d)
</ins><span class="cx"> {
</span><span class="cx">     if (m_frameLoadDelegatePrivate == d)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -5373,16 +5372,18 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::frameLoadDelegatePrivate( 
-    /* [out][retval] */ IWebFrameLoadDelegatePrivate** d)
</del><ins>+HRESULT WebView::frameLoadDelegatePrivate(_COM_Outptr_opt_ IWebFrameLoadDelegatePrivate** d)
</ins><span class="cx"> {
</span><ins>+    if (!d)
+        return E_POINTER;
+    *d = nullptr;
</ins><span class="cx">     if (!m_frameLoadDelegatePrivate)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">         
</span><span class="cx">     return m_frameLoadDelegatePrivate.copyRefTo(d);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::scrollOffset(LPPOINT offset)
</del><ins>+HRESULT WebView::scrollOffset(_Out_ LPPOINT offset)
</ins><span class="cx"> {
</span><span class="cx">     if (!offset)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -5395,7 +5396,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::scrollBy(LPPOINT offset)
</del><ins>+HRESULT WebView::scrollBy(_In_ LPPOINT offset)
</ins><span class="cx"> {
</span><span class="cx">     if (!offset)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -5406,7 +5407,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::visibleContentRect(LPRECT rect)
</del><ins>+HRESULT WebView::visibleContentRect(_Out_ LPRECT rect)
</ins><span class="cx"> {
</span><span class="cx">     if (!rect)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -5523,10 +5524,16 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::canHandleRequest( 
-    IWebURLRequest *request,
-    BOOL *result)
</del><ins>+HRESULT WebView::canHandleRequest(_In_opt_ IWebURLRequest* request, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
+    *result = FALSE;
+
+    if (!request)
+        return S_OK;
+
</ins><span class="cx">     COMPtr&lt;WebMutableURLRequest&gt; requestImpl;
</span><span class="cx"> 
</span><span class="cx">     HRESULT hr = request-&gt;QueryInterface(&amp;requestImpl);
</span><span class="lines">@@ -5537,7 +5544,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::standardUserAgentWithApplicationName(BSTR applicationName, BSTR* groupName)
</del><ins>+HRESULT WebView::standardUserAgentWithApplicationName(_In_ BSTR applicationName, _Deref_opt_out_ BSTR* groupName)
</ins><span class="cx"> {
</span><span class="cx">     if (!groupName) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -5560,8 +5567,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setInitialFocus(
-    /* [in] */ BOOL forward)
</del><ins>+HRESULT WebView::setInitialFocus(BOOL forward)
</ins><span class="cx"> {
</span><span class="cx">     if (m_page) {
</span><span class="cx">         Frame&amp; frame = m_page-&gt;focusController().focusedOrMainFrame();
</span><span class="lines">@@ -5571,8 +5577,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setTabKeyCyclesThroughElements( 
-    /* [in] */ BOOL cycles)
</del><ins>+HRESULT WebView::setTabKeyCyclesThroughElements(BOOL cycles)
</ins><span class="cx"> {
</span><span class="cx">     if (m_page)
</span><span class="cx">         m_page-&gt;setTabKeyCyclesThroughElements(!!cycles);
</span><span class="lines">@@ -5580,8 +5585,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::tabKeyCyclesThroughElements( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::tabKeyCyclesThroughElements(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -5592,8 +5596,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setAllowSiteSpecificHacks(
-    /* [in] */ BOOL allow)
</del><ins>+HRESULT WebView::setAllowSiteSpecificHacks(BOOL allow)
</ins><span class="cx"> {
</span><span class="cx">     s_allowSiteSpecificHacks = !!allow;
</span><span class="cx">     // FIXME: This sets a global so it needs to call notifyPreferencesChanged
</span><span class="lines">@@ -5601,19 +5604,20 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::addAdditionalPluginDirectory( 
-        /* [in] */ BSTR directory)
</del><ins>+HRESULT WebView::addAdditionalPluginDirectory(_In_ BSTR directory)
</ins><span class="cx"> {
</span><span class="cx">     PluginDatabase::installedPlugins()-&gt;addExtraPluginDirectory(toString(directory));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::loadBackForwardListFromOtherView( 
-    /* [in] */ IWebView* otherView)
</del><ins>+HRESULT WebView::loadBackForwardListFromOtherView(_In_opt_ IWebView* otherView)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><del>-    
</del><ins>+
+    if (!otherView)
+        return S_OK;
+
</ins><span class="cx">     // It turns out the right combination of behavior is done with the back/forward load
</span><span class="cx">     // type.  (See behavior matrix at the top of WebFramePrivate.)  So we copy all the items
</span><span class="cx">     // in the back forward list, and go to the current one.
</span><span class="lines">@@ -5648,21 +5652,28 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::clearUndoRedoOperations()
</del><ins>+HRESULT WebView::clearUndoRedoOperations()
</ins><span class="cx"> {
</span><ins>+    if (!m_page)
+        return S_OK;
+
</ins><span class="cx">     Frame&amp; frame = m_page-&gt;focusController().focusedOrMainFrame();
</span><span class="cx">     frame.editor().clearUndoRedoOperations();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::shouldClose( 
-    /* [retval][out] */ BOOL* result)
</del><ins>+HRESULT WebView::shouldClose(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">         return E_POINTER;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    *result = FALSE;
+
+    if (!m_page)
+        return S_OK;
+
</ins><span class="cx">     *result = m_page-&gt;mainFrame().loader().shouldClose();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -6086,8 +6097,11 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::inspector(IWebInspector** inspector)
</del><ins>+HRESULT WebView::inspector(_COM_Outptr_opt_ IWebInspector** inspector)
</ins><span class="cx"> {
</span><ins>+    if (!inspector)
+        return E_POINTER;
+    *inspector = nullptr;
</ins><span class="cx">     if (!m_webInspector)
</span><span class="cx">         m_webInspector.adoptRef(WebInspector::createInstance(this, m_inspectorClient));
</span><span class="cx"> 
</span><span class="lines">@@ -6095,7 +6109,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::windowAncestryDidChange()
</del><ins>+HRESULT WebView::windowAncestryDidChange()
</ins><span class="cx"> {
</span><span class="cx">     HWND newParent;
</span><span class="cx">     if (m_viewWindow)
</span><span class="lines">@@ -6103,7 +6117,7 @@
</span><span class="cx">     else {
</span><span class="cx">         // There's no point in tracking active state changes of our parent window if we don't have
</span><span class="cx">         // a window ourselves.
</span><del>-        newParent = 0;
</del><ins>+        newParent = nullptr;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (newParent == m_topLevelParent)
</span><span class="lines">@@ -6125,34 +6139,32 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::paintDocumentRectToContext(RECT rect, HDC deviceContext)
</del><ins>+HRESULT WebView::paintDocumentRectToContext(RECT rect, _In_ HDC deviceContext)
</ins><span class="cx"> {
</span><span class="cx">     if (!deviceContext)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     return m_mainFrame-&gt;paintDocumentRectToContext(rect, deviceContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::paintScrollViewRectToContextAtPoint(RECT rect, POINT pt, HDC deviceContext)
</del><ins>+HRESULT WebView::paintScrollViewRectToContextAtPoint(RECT rect, POINT pt, _In_ HDC deviceContext)
</ins><span class="cx"> {
</span><span class="cx">     if (!deviceContext)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="cx">     if (!m_mainFrame)
</span><del>-        return E_FAIL;
</del><ins>+        return E_UNEXPECTED;
</ins><span class="cx"> 
</span><span class="cx">     return m_mainFrame-&gt;paintScrollViewRectToContextAtPoint(rect, pt, deviceContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::reportException(
-    /* [in] */ JSContextRef context,
-    /* [in] */ JSValueRef exception)
</del><ins>+HRESULT WebView::reportException(_In_ JSContextRef context, _In_ JSValueRef exception)
</ins><span class="cx"> {
</span><span class="cx">     if (!context || !exception)
</span><del>-        return E_FAIL;
</del><ins>+        return E_INVALIDARG;
</ins><span class="cx"> 
</span><span class="cx">     JSC::ExecState* execState = toJS(context);
</span><span class="cx">     JSC::JSLockHolder lock(execState);
</span><span class="lines">@@ -6165,22 +6177,16 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::elementFromJS(
-    /* [in] */ JSContextRef context,
-    /* [in] */ JSValueRef nodeObject,
-    /* [retval][out] */ IDOMElement **element)
</del><ins>+HRESULT WebView::elementFromJS(_In_ JSContextRef context, _In_ JSValueRef nodeObject, _COM_Outptr_opt_ IDOMElement** element)
</ins><span class="cx"> {
</span><span class="cx">     if (!element)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *element = 0;
</del><ins>+    *element = nullptr;
</ins><span class="cx"> 
</span><del>-    if (!context)
-        return E_FAIL;
</del><ins>+    if (!context || !nodeObject)
+        return E_INVALIDARG;
</ins><span class="cx"> 
</span><del>-    if (!nodeObject)
-        return E_FAIL;
-
</del><span class="cx">     JSC::ExecState* exec = toJS(context);
</span><span class="cx">     JSC::JSLockHolder lock(exec);
</span><span class="cx">     Element* elt = JSElement::toWrapped(toJS(exec, nodeObject));
</span><span class="lines">@@ -6191,21 +6197,19 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setCustomHTMLTokenizerTimeDelay(
-    /* [in] */ double timeDelay)
</del><ins>+HRESULT WebView::setCustomHTMLTokenizerTimeDelay(double timeDelay)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setCustomHTMLTokenizerChunkSize(
-    /* [in] */ int chunkSize)
</del><ins>+HRESULT WebView::setCustomHTMLTokenizerChunkSize(int chunkSize)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return E_FAIL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::backingStore(/* [out, retval] */ HBITMAP* hBitmap)
</del><ins>+HRESULT WebView::backingStore(_Deref_opt_out_ HBITMAP* hBitmap)
</ins><span class="cx"> {
</span><span class="cx">     if (!hBitmap)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6215,17 +6219,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setTransparent(BOOL transparent)
</del><ins>+HRESULT WebView::setTransparent(BOOL transparent)
</ins><span class="cx"> {
</span><span class="cx">     if (m_transparent == !!transparent)
</span><span class="cx">         return S_OK;
</span><span class="cx"> 
</span><span class="cx">     m_transparent = transparent;
</span><ins>+
+    if (!m_mainFrame)
+        return E_UNEXPECTED;
+
</ins><span class="cx">     m_mainFrame-&gt;updateBackground();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::transparent(BOOL* transparent)
</del><ins>+HRESULT WebView::transparent(_Out_ BOOL* transparent)
</ins><span class="cx"> {
</span><span class="cx">     if (!transparent)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6303,7 +6311,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::usesLayeredWindow(BOOL* usesLayeredWindow)
</del><ins>+HRESULT WebView::usesLayeredWindow(_Out_ BOOL* usesLayeredWindow)
</ins><span class="cx"> {
</span><span class="cx">     if (!usesLayeredWindow)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6312,7 +6320,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setCookieEnabled(BOOL enable)
</del><ins>+HRESULT WebView::setCookieEnabled(BOOL enable)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -6321,7 +6329,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::cookieEnabled(BOOL* enabled)
</del><ins>+HRESULT WebView::cookieEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!enabled)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6333,7 +6341,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setMediaVolume(float volume)
</del><ins>+HRESULT WebView::setMediaVolume(float volume)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -6342,7 +6350,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::mediaVolume(float* volume)
</del><ins>+HRESULT WebView::mediaVolume(_Out_ float* volume)
</ins><span class="cx"> {
</span><span class="cx">     if (!volume)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6354,7 +6362,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setDefersCallbacks(BOOL defersCallbacks)
</del><ins>+HRESULT WebView::setDefersCallbacks(BOOL defersCallbacks)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -6363,7 +6371,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::defersCallbacks(BOOL* defersCallbacks)
</del><ins>+HRESULT WebView::defersCallbacks(_Out_ BOOL* defersCallbacks)
</ins><span class="cx"> {
</span><span class="cx">     if (!defersCallbacks)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6375,16 +6383,16 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::globalHistoryItem(IWebHistoryItem** item)
</del><ins>+HRESULT WebView::globalHistoryItem(_COM_Outptr_opt_ IWebHistoryItem** item)
</ins><span class="cx"> {
</span><span class="cx">     if (!item)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *item = nullptr;
</ins><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     if (!m_globalHistoryItem) {
</span><del>-        *item = 0;
</del><ins>+        *item = nullptr;
</ins><span class="cx">         return S_OK;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -6392,14 +6400,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setAlwaysUsesComplexTextCodePath(BOOL complex)
</del><ins>+HRESULT WebView::setAlwaysUsesComplexTextCodePath(BOOL complex)
</ins><span class="cx"> {
</span><span class="cx">     WebCoreSetAlwaysUsesComplexTextCodePath(complex);
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::alwaysUsesComplexTextCodePath(BOOL* complex)
</del><ins>+HRESULT WebView::alwaysUsesComplexTextCodePath(_Out_ BOOL* complex)
</ins><span class="cx"> {
</span><span class="cx">     if (!complex)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6408,7 +6416,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::registerEmbeddedViewMIMEType(BSTR mimeType)
</del><ins>+HRESULT WebView::registerEmbeddedViewMIMEType(_In_ BSTR mimeType)
</ins><span class="cx"> {
</span><span class="cx">     if (!mimeType)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -6475,6 +6483,9 @@
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::setMemoryCacheDelegateCallsEnabled(BOOL enabled)
</span><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;setMemoryCacheClientCallsEnabled(enabled);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -6486,6 +6497,9 @@
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::setCanStartPlugins(BOOL canStartPlugins)
</span><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     m_page-&gt;setCanStartMedia(canStartPlugins);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -6525,10 +6539,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::addUserScriptToGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR source, BSTR url, 
-                                      unsigned whitelistCount, BSTR* whitelist,
-                                      unsigned blacklistCount, BSTR* blacklist,
-                                      WebUserScriptInjectionTime injectionTime)
</del><ins>+HRESULT WebView::addUserScriptToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld, _In_ BSTR source, _In_ BSTR url,
+    unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist,
+    unsigned blacklistCount, __inout_ecount_full(blacklistCount) BSTR* blacklist,
+    WebUserScriptInjectionTime injectionTime)
</ins><span class="cx"> {
</span><span class="cx">     return addUserScriptToGroup(groupName, iWorld, source, url, whitelistCount, whitelist, blacklistCount, blacklist, injectionTime, WebInjectInAllFrames);
</span><span class="cx"> }
</span><span class="lines">@@ -6545,8 +6559,9 @@
</span><span class="cx">     return entriesVector;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::addUserScriptToGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR source, BSTR url,
-    unsigned whitelistCount, BSTR* whitelist, unsigned blacklistCount, BSTR* blacklist,
</del><ins>+HRESULT WebView::addUserScriptToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld, _In_ BSTR source, _In_ BSTR url,
+    unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist,
+    unsigned blacklistCount, __inout_ecount_full(blacklistCount) BSTR* blacklist,
</ins><span class="cx">     WebUserScriptInjectionTime injectionTime, WebUserContentInjectedFrames injectedFrames)
</span><span class="cx"> {
</span><span class="cx">     String group = toString(groupName);
</span><span class="lines">@@ -6568,14 +6583,15 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::addUserStyleSheetToGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR source, BSTR url,
-    unsigned whitelistCount, BSTR* whitelist, unsigned blacklistCount, BSTR* blacklist)
</del><ins>+HRESULT WebView::addUserStyleSheetToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld, _In_ BSTR source, _In_ BSTR url,
+    unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist, unsigned blacklistCount, __inout_ecount_full(blacklistCount) BSTR* blacklist)
</ins><span class="cx"> {
</span><span class="cx">     return addUserStyleSheetToGroup(groupName, iWorld, source, url, whitelistCount, whitelist, blacklistCount, blacklist, WebInjectInAllFrames);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::addUserStyleSheetToGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR source, BSTR url,
-    unsigned whitelistCount, BSTR* whitelist, unsigned blacklistCount, BSTR* blacklist, WebUserContentInjectedFrames injectedFrames)
</del><ins>+HRESULT WebView::addUserStyleSheetToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld, _In_ BSTR source, _In_ BSTR url,
+    unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist, unsigned blacklistCount, __inout_ecount_full(blacklistCount) BSTR* blacklist,
+    WebUserContentInjectedFrames injectedFrames)
</ins><span class="cx"> {
</span><span class="cx">     String group = toString(groupName);
</span><span class="cx">     if (group.isEmpty())
</span><span class="lines">@@ -6595,7 +6611,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::removeUserScriptFromGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR url)
</del><ins>+HRESULT WebView::removeUserScriptFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld, _In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     String group = toString(groupName);
</span><span class="cx">     if (group.isEmpty())
</span><span class="lines">@@ -6613,7 +6629,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::removeUserStyleSheetFromGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR url)
</del><ins>+HRESULT WebView::removeUserStyleSheetFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld, _In_ BSTR url)
</ins><span class="cx"> {
</span><span class="cx">     String group = toString(groupName);
</span><span class="cx">     if (group.isEmpty())
</span><span class="lines">@@ -6631,7 +6647,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::removeUserScriptsFromGroup(BSTR groupName, IWebScriptWorld* iWorld)
</del><ins>+HRESULT WebView::removeUserScriptsFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld)
</ins><span class="cx"> {
</span><span class="cx">     String group = toString(groupName);
</span><span class="cx">     if (group.isEmpty())
</span><span class="lines">@@ -6649,7 +6665,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::removeUserStyleSheetsFromGroup(BSTR groupName, IWebScriptWorld* iWorld)
</del><ins>+HRESULT WebView::removeUserStyleSheetsFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld* iWorld)
</ins><span class="cx"> {
</span><span class="cx">     String group = toString(groupName);
</span><span class="cx">     if (group.isEmpty())
</span><span class="lines">@@ -6667,12 +6683,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::removeAllUserContentFromGroup(BSTR groupName)
</del><ins>+HRESULT WebView::removeAllUserContentFromGroup(_In_ BSTR groupName)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::invalidateBackingStore(const RECT* rect)
</del><ins>+HRESULT WebView::invalidateBackingStore(_In_opt_ const RECT* rect)
</ins><span class="cx"> {
</span><span class="cx">     if (!IsWindow(m_viewWindow))
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -6691,13 +6707,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::addOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains)
</del><ins>+HRESULT WebView::addOriginAccessWhitelistEntry(_In_ BSTR sourceOrigin, _In_ BSTR destinationProtocol, _In_ BSTR destinationHost, BOOL allowDestinationSubdomains)
</ins><span class="cx"> {
</span><span class="cx">     SecurityPolicy::addOriginAccessWhitelistEntry(SecurityOrigin::createFromString(toString(sourceOrigin)).get(), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::removeOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains)
</del><ins>+HRESULT WebView::removeOriginAccessWhitelistEntry(_In_ BSTR sourceOrigin, _In_ BSTR destinationProtocol, _In_ BSTR destinationHost, BOOL allowDestinationSubdomains)
</ins><span class="cx"> {
</span><span class="cx">     SecurityPolicy::removeOriginAccessWhitelistEntry(SecurityOrigin::createFromString(toString(sourceOrigin)).get(), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -6709,21 +6725,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">  
</span><del>-HRESULT WebView::setHistoryDelegate(IWebHistoryDelegate* historyDelegate)
</del><ins>+HRESULT WebView::setHistoryDelegate(_In_ IWebHistoryDelegate* historyDelegate)
</ins><span class="cx"> {
</span><span class="cx">     m_historyDelegate = historyDelegate;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::historyDelegate(IWebHistoryDelegate** historyDelegate)
</del><ins>+HRESULT WebView::historyDelegate(_COM_Outptr_opt_ IWebHistoryDelegate** historyDelegate)
</ins><span class="cx"> {
</span><span class="cx">     if (!historyDelegate)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *historyDelegate = nullptr;
</ins><span class="cx">     return m_historyDelegate.copyRefTo(historyDelegate);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::addVisitedLinks(BSTR* visitedURLs, unsigned visitedURLCount)
</del><ins>+HRESULT WebView::addVisitedLinks(__inout_ecount_full(visitedURLCount) BSTR* visitedURLs, unsigned visitedURLCount)
</ins><span class="cx"> {
</span><span class="cx">     auto&amp; visitedLinkStore = m_webViewGroup-&gt;visitedLinkStore();
</span><span class="cx">     PageGroup&amp; group = core(this)-&gt;group();
</span><span class="lines">@@ -6847,25 +6863,25 @@
</span><span class="cx"> HRESULT WebView::unused1()
</span><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::unused2()
</span><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::unused3()
</span><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::unused4()
</span><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::unused5()
</span><span class="lines">@@ -6876,27 +6892,27 @@
</span><span class="cx">     // and this code does nothing more than force the symbol to be included in WebKit dll.
</span><span class="cx">     (void)WebCore::PathUtilities::pathWithShrinkWrappedRects(Vector&lt;FloatRect&gt;(), 0);
</span><span class="cx"> 
</span><del>-    return E_FAIL;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::setGeolocationProvider(IWebGeolocationProvider* locationProvider)
</del><ins>+HRESULT WebView::setGeolocationProvider(_In_opt_ IWebGeolocationProvider* locationProvider)
</ins><span class="cx"> {
</span><span class="cx">     m_geolocationProvider = locationProvider;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::geolocationProvider(IWebGeolocationProvider** locationProvider)
</del><ins>+HRESULT WebView::geolocationProvider(_COM_Outptr_opt_ IWebGeolocationProvider** locationProvider)
</ins><span class="cx"> {
</span><span class="cx">     if (!locationProvider)
</span><span class="cx">         return E_POINTER;
</span><del>-
</del><ins>+    *locationProvider = nullptr;
</ins><span class="cx">     if (!m_geolocationProvider)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="cx">     return m_geolocationProvider.copyRefTo(locationProvider);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::geolocationDidChangePosition(IWebGeolocationPosition* position)
</del><ins>+HRESULT WebView::geolocationDidChangePosition(_In_opt_ IWebGeolocationPosition* position)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -6904,7 +6920,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::geolocationDidFailWithError(IWebError* error)
</del><ins>+HRESULT WebView::geolocationDidFailWithError(_In_opt_ IWebError* error)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -6920,25 +6936,25 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::setDomainRelaxationForbiddenForURLScheme(BOOL forbidden, BSTR scheme)
</del><ins>+HRESULT WebView::setDomainRelaxationForbiddenForURLScheme(BOOL forbidden, _In_ BSTR scheme)
</ins><span class="cx"> {
</span><span class="cx">     SchemeRegistry::setDomainRelaxationForbiddenForURLScheme(forbidden, toString(scheme));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::registerURLSchemeAsSecure(BSTR scheme)
</del><ins>+HRESULT WebView::registerURLSchemeAsSecure(_In_ BSTR scheme)
</ins><span class="cx"> {
</span><span class="cx">     SchemeRegistry::registerURLSchemeAsSecure(toString(scheme));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(BSTR scheme)
</del><ins>+HRESULT WebView::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(_In_ BSTR scheme)
</ins><span class="cx"> {
</span><span class="cx">     SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(toString(scheme));
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(BSTR scheme)
</del><ins>+HRESULT WebView::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(_In_ BSTR scheme)
</ins><span class="cx"> {
</span><span class="cx">     SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(toString(scheme));
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -7017,7 +7033,7 @@
</span><span class="cx">         m_rects = *rects;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppv)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, void** ppv)
</ins><span class="cx">     {
</span><span class="cx">         if (IsEqualGUID(riid, IID_IUnknown) || IsEqualGUID(riid, IID_IEnumTextMatches)) {
</span><span class="cx">             *ppv = this;
</span><span class="lines">@@ -7067,8 +7083,11 @@
</span><span class="cx">         m_index = 0;
</span><span class="cx">         return S_OK;
</span><span class="cx">     }
</span><del>-    virtual HRESULT STDMETHODCALLTYPE Clone(IEnumTextMatches**)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE Clone(_COM_Outptr_opt_ IEnumTextMatches** matches)
</ins><span class="cx">     {
</span><ins>+        if (!matches)
+            return E_POINTER;
+        *matches = nullptr;
</ins><span class="cx">         return E_NOTIMPL;
</span><span class="cx">     }
</span><span class="cx"> };
</span><span class="lines">@@ -7090,7 +7109,7 @@
</span><span class="cx">     return page;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::defaultMinimumTimerInterval(double* interval)
</del><ins>+HRESULT WebView::defaultMinimumTimerInterval(_Out_ double* interval)
</ins><span class="cx"> {
</span><span class="cx">     if (!interval)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -7100,11 +7119,14 @@
</span><span class="cx"> 
</span><span class="cx"> HRESULT WebView::setMinimumTimerInterval(double interval)
</span><span class="cx"> {
</span><ins>+    if (!m_page)
+        return E_FAIL;
+
</ins><span class="cx">     page()-&gt;settings().setMinimumDOMTimerInterval(interval);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::httpPipeliningEnabled(BOOL* enabled)
</del><ins>+HRESULT WebView::httpPipeliningEnabled(_Out_ BOOL* enabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!enabled)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -7219,10 +7241,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> // Used by TextInputController in DumpRenderTree
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::setCompositionForTesting(
-    /* [in] */ BSTR composition, 
-    /* [in] */ UINT from, 
-    /* [in] */ UINT length)
</del><ins>+HRESULT WebView::setCompositionForTesting(_In_ BSTR composition, UINT from, UINT length)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -7240,7 +7259,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::hasCompositionForTesting(/* [out, retval] */ BOOL* result)
</del><ins>+HRESULT WebView::hasCompositionForTesting(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -7250,7 +7269,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::confirmCompositionForTesting(/* [in] */ BSTR composition)
</del><ins>+HRESULT WebView::confirmCompositionForTesting(_In_ BSTR composition)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -7269,8 +7288,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::compositionRangeForTesting(/* [out] */ UINT* startPosition, /* [out] */ UINT* length)
</del><ins>+HRESULT WebView::compositionRangeForTesting(_Out_ UINT* startPosition, _Out_ UINT* length)
</ins><span class="cx"> {
</span><ins>+    if (!startPosition || !length)
+        return E_POINTER;
+
</ins><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -7290,11 +7312,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::firstRectForCharacterRangeForTesting(
-    /* [in] */ UINT location, 
-    /* [in] */ UINT length, 
-    /* [out, retval] */ RECT* resultRect)
</del><ins>+HRESULT WebView::firstRectForCharacterRangeForTesting(UINT location, UINT length, _Out_ RECT* resultRect)
</ins><span class="cx"> {
</span><ins>+    if (!resultRect)
+        return E_POINTER;
+
</ins><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -7329,8 +7351,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebView::selectedRangeForTesting(/* [out] */ UINT* location, /* [out] */ UINT* length)
</del><ins>+HRESULT WebView::selectedRangeForTesting(_Out_ UINT* location, _Out_ UINT* length)
</ins><span class="cx"> {
</span><ins>+    if (!location || !length)
+        return E_POINTER;
+
+    *location = 0;
+    *length = 0;
+
</ins><span class="cx">     if (!m_page)
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><span class="lines">@@ -7400,7 +7428,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebView::backingScaleFactor(double* factor)
</del><ins>+HRESULT WebView::backingScaleFactor(_Out_ double* factor)
</ins><span class="cx"> {
</span><span class="cx">     if (!factor)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebView.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -107,754 +107,288 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebView
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE canShowMIMEType( 
-        /* [in] */ BSTR mimeType,
-        /* [retval][out] */ BOOL *canShow);
-
-    virtual HRESULT STDMETHODCALLTYPE canShowMIMETypeAsHTML( 
-        /* [in] */ BSTR mimeType,
-        /* [retval][out] */ BOOL *canShow);
-
-    virtual HRESULT STDMETHODCALLTYPE MIMETypesShownAsHTML( 
-        /* [retval][out] */ IEnumVARIANT **enumVariant);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMIMETypesShownAsHTML( 
-        /* [size_is][in] */ BSTR *mimeTypes,
-        /* [in] */ int cMimeTypes);
-    
-    virtual HRESULT STDMETHODCALLTYPE URLFromPasteboard( 
-        /* [in] */ IDataObject *pasteboard,
-        /* [retval][out] */ BSTR *url);
-    
-    virtual HRESULT STDMETHODCALLTYPE URLTitleFromPasteboard( 
-        /* [in] */ IDataObject *pasteboard,
-        /* [retval][out] */ BSTR *urlTitle);
-    
-    virtual HRESULT STDMETHODCALLTYPE initWithFrame( 
-        /* [in] */ RECT frame,
-        /* [in] */ BSTR frameName,
-        /* [in] */ BSTR groupName);
-
-    virtual HRESULT STDMETHODCALLTYPE setAccessibilityDelegate(
-        /* [in] */ IAccessibilityDelegate *d);
-
-    virtual HRESULT STDMETHODCALLTYPE accessibilityDelegate(
-        /* [out][retval] */ IAccessibilityDelegate **d);
-
-    virtual HRESULT STDMETHODCALLTYPE setUIDelegate( 
-        /* [in] */ IWebUIDelegate *d);
-    
-    virtual HRESULT STDMETHODCALLTYPE uiDelegate( 
-        /* [out][retval] */ IWebUIDelegate **d);
-    
-    virtual HRESULT STDMETHODCALLTYPE setResourceLoadDelegate( 
-        /* [in] */ IWebResourceLoadDelegate *d);
-    
-    virtual HRESULT STDMETHODCALLTYPE resourceLoadDelegate( 
-        /* [out][retval] */ IWebResourceLoadDelegate **d);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDownloadDelegate( 
-        /* [in] */ IWebDownloadDelegate *d);
-    
-    virtual HRESULT STDMETHODCALLTYPE downloadDelegate( 
-        /* [out][retval] */ IWebDownloadDelegate **d);
-    
-    virtual HRESULT STDMETHODCALLTYPE setFrameLoadDelegate( 
-        /* [in] */ IWebFrameLoadDelegate *d);
-    
-    virtual HRESULT STDMETHODCALLTYPE frameLoadDelegate( 
-        /* [out][retval] */ IWebFrameLoadDelegate **d);
-    
-    virtual HRESULT STDMETHODCALLTYPE setPolicyDelegate( 
-        /* [in] */ IWebPolicyDelegate *d);
-    
-    virtual HRESULT STDMETHODCALLTYPE policyDelegate( 
-        /* [out][retval] */ IWebPolicyDelegate **d);
-    
-    virtual HRESULT STDMETHODCALLTYPE mainFrame( 
-        /* [out][retval] */ IWebFrame **frame);
-
-    virtual HRESULT STDMETHODCALLTYPE focusedFrame( 
-        /* [out][retval] */ IWebFrame **frame);
-    
-    virtual HRESULT STDMETHODCALLTYPE backForwardList( 
-        /* [out][retval] */ IWebBackForwardList **list);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMaintainsBackForwardList( 
-        /* [in] */ BOOL flag);
-    
-    virtual HRESULT STDMETHODCALLTYPE goBack( 
-        /* [retval][out] */ BOOL *succeeded);
-    
-    virtual HRESULT STDMETHODCALLTYPE goForward( 
-        /* [retval][out] */ BOOL *succeeded);
-    
-    virtual HRESULT STDMETHODCALLTYPE goToBackForwardItem( 
-        /* [in] */ IWebHistoryItem *item,
-        /* [retval][out] */ BOOL *succeeded);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTextSizeMultiplier( 
-        /* [in] */ float multiplier);
-    
-    virtual HRESULT STDMETHODCALLTYPE textSizeMultiplier( 
-        /* [retval][out] */ float *multiplier);
-    
-    virtual HRESULT STDMETHODCALLTYPE setApplicationNameForUserAgent( 
-        /* [in] */ BSTR applicationName);
-    
-    virtual HRESULT STDMETHODCALLTYPE applicationNameForUserAgent( 
-        /* [retval][out] */ BSTR *applicationName);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCustomUserAgent( 
-        /* [in] */ BSTR userAgentString);
-    
-    virtual HRESULT STDMETHODCALLTYPE customUserAgent( 
-        /* [retval][out] */ BSTR *userAgentString);
-    
-    virtual HRESULT STDMETHODCALLTYPE userAgentForURL( 
-        /* [in] */ BSTR url,
-        /* [retval][out] */ BSTR *userAgent);
-    
-    virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding( 
-        /* [retval][out] */ BOOL *supports);
-    
-    virtual HRESULT STDMETHODCALLTYPE setCustomTextEncodingName( 
-        /* [in] */ BSTR encodingName);
-    
-    virtual HRESULT STDMETHODCALLTYPE customTextEncodingName( 
-        /* [retval][out] */ BSTR *encodingName);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMediaStyle( 
-        /* [in] */ BSTR media);
-    
-    virtual HRESULT STDMETHODCALLTYPE mediaStyle( 
-        /* [retval][out] */ BSTR *media);
-    
-    virtual HRESULT STDMETHODCALLTYPE stringByEvaluatingJavaScriptFromString( 
-        /* [in] */ BSTR script,
-        /* [retval][out] */ BSTR *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE windowScriptObject( 
-        /* [retval][out] */ IWebScriptObject **webScriptObject);
-    
-    virtual HRESULT STDMETHODCALLTYPE setPreferences( 
-        /* [in] */ IWebPreferences *prefs);
-    
-    virtual HRESULT STDMETHODCALLTYPE preferences( 
-        /* [retval][out] */ IWebPreferences **prefs);
-    
-    virtual HRESULT STDMETHODCALLTYPE setPreferencesIdentifier( 
-        /* [in] */ BSTR anIdentifier);
-    
-    virtual HRESULT STDMETHODCALLTYPE preferencesIdentifier( 
-        /* [retval][out] */ BSTR *anIdentifier);
-    
-    virtual HRESULT STDMETHODCALLTYPE setHostWindow(HWND);
-    
-    virtual HRESULT STDMETHODCALLTYPE hostWindow(HWND*);
-    
-    virtual HRESULT STDMETHODCALLTYPE searchFor( 
-        /* [in] */ BSTR str,
-        /* [in] */ BOOL forward,
-        /* [in] */ BOOL caseFlag,
-        /* [in] */ BOOL wrapFlag,
-        /* [retval][out] */ BOOL *found);
-    
-    virtual HRESULT STDMETHODCALLTYPE registerViewClass( 
-        /* [in] */ IWebDocumentView *view,
-        /* [in] */ IWebDocumentRepresentation *representation,
-        /* [in] */ BSTR forMIMEType);
-
-    virtual HRESULT STDMETHODCALLTYPE setGroupName( 
-        /* [in] */ BSTR groupName);
-    
-    virtual HRESULT STDMETHODCALLTYPE groupName( 
-        /* [retval][out] */ BSTR *groupName);
-    
-    virtual HRESULT STDMETHODCALLTYPE estimatedProgress( 
-        /* [retval][out] */ double *estimatedProgress);
-    
-    virtual HRESULT STDMETHODCALLTYPE isLoading( 
-        /* [retval][out] */ BOOL *isLoading);
-    
-    virtual HRESULT STDMETHODCALLTYPE elementAtPoint( 
-        /* [in] */ LPPOINT point,
-        /* [retval][out] */ IPropertyBag **elementDictionary);
-    
-    virtual HRESULT STDMETHODCALLTYPE pasteboardTypesForSelection( 
-        /* [retval][out] */ IEnumVARIANT **enumVariant);
-    
-    virtual HRESULT STDMETHODCALLTYPE writeSelectionWithPasteboardTypes( 
-        /* [size_is][in] */ BSTR *types,
-        /* [in] */ int cTypes,
-        /* [in] */ IDataObject *pasteboard);
-    
-    virtual HRESULT STDMETHODCALLTYPE pasteboardTypesForElement( 
-        /* [in] */ IPropertyBag *elementDictionary,
-        /* [retval][out] */ IEnumVARIANT **enumVariant);
-    
-    virtual HRESULT STDMETHODCALLTYPE writeElement( 
-        /* [in] */ IPropertyBag *elementDictionary,
-        /* [size_is][in] */ BSTR *withPasteboardTypes,
-        /* [in] */ int cWithPasteboardTypes,
-        /* [in] */ IDataObject *pasteboard);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectedText(
-        /* [out, retval] */ BSTR* str);
-
-    virtual HRESULT STDMETHODCALLTYPE centerSelectionInVisibleArea(
-        /* [in] */ IUnknown* sender);
-
-    virtual HRESULT STDMETHODCALLTYPE moveDragCaretToPoint( 
-        /* [in] */ LPPOINT point);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeDragCaret( void);
-    
-    virtual HRESULT STDMETHODCALLTYPE setDrawsBackground( 
-        /* [in] */ BOOL drawsBackground);
-    
-    virtual HRESULT STDMETHODCALLTYPE drawsBackground( 
-        /* [retval][out] */ BOOL *drawsBackground);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMainFrameURL( 
-        /* [in] */ BSTR urlString);
-    
-    virtual HRESULT STDMETHODCALLTYPE mainFrameURL( 
-        /* [retval][out] */ BSTR *urlString);
-    
-    virtual HRESULT STDMETHODCALLTYPE mainFrameDocument( 
-        /* [retval][out] */ IDOMDocument **document);
-    
-    virtual HRESULT STDMETHODCALLTYPE mainFrameTitle( 
-        /* [retval][out] */ BSTR *title);
-    
-    virtual HRESULT STDMETHODCALLTYPE mainFrameIcon(/* [retval][out] */ HBITMAP* hBitmap);
-
-    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsLocal( 
-        /* [in] */ BSTR scheme);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE canShowMIMEType(_In_ BSTR mimeType, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE canShowMIMETypeAsHTML(_In_ BSTR mimeType, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE MIMETypesShownAsHTML(_COM_Outptr_opt_ IEnumVARIANT**);
+    virtual HRESULT STDMETHODCALLTYPE setMIMETypesShownAsHTML(__inout_ecount_full(cMimeTypes) BSTR* mimeTypes, int cMimeTypes); 
+    virtual HRESULT STDMETHODCALLTYPE URLFromPasteboard(_In_opt_ IDataObject* pasteboard, _Deref_opt_out_ BSTR* url);
+    virtual HRESULT STDMETHODCALLTYPE URLTitleFromPasteboard(_In_opt_ IDataObject* pasteboard, _Deref_opt_out_ BSTR* urlTitle);
+    virtual HRESULT STDMETHODCALLTYPE initWithFrame(RECT frame, _In_ BSTR frameName, _In_ BSTR groupName);
+    virtual HRESULT STDMETHODCALLTYPE setAccessibilityDelegate(_In_opt_ IAccessibilityDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE accessibilityDelegate(_COM_Outptr_opt_ IAccessibilityDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE setUIDelegate(_In_opt_ IWebUIDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE uiDelegate(_COM_Outptr_opt_ IWebUIDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE setResourceLoadDelegate(_In_opt_ IWebResourceLoadDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE resourceLoadDelegate(_COM_Outptr_opt_ IWebResourceLoadDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE setDownloadDelegate(_In_opt_ IWebDownloadDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE downloadDelegate(_COM_Outptr_opt_ IWebDownloadDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE setFrameLoadDelegate(_In_opt_ IWebFrameLoadDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE frameLoadDelegate(_COM_Outptr_opt_ IWebFrameLoadDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE setPolicyDelegate(_In_opt_ IWebPolicyDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE policyDelegate(_COM_Outptr_opt_ IWebPolicyDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE mainFrame(_COM_Outptr_opt_ IWebFrame**);
+    virtual HRESULT STDMETHODCALLTYPE focusedFrame(_COM_Outptr_opt_ IWebFrame**);
+    virtual HRESULT STDMETHODCALLTYPE backForwardList(_COM_Outptr_opt_ IWebBackForwardList**);
+    virtual HRESULT STDMETHODCALLTYPE setMaintainsBackForwardList(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE goBack(_Out_ BOOL* succeeded);
+    virtual HRESULT STDMETHODCALLTYPE goForward(_Out_ BOOL* succeeded);
+    virtual HRESULT STDMETHODCALLTYPE goToBackForwardItem(_In_opt_ IWebHistoryItem*, _Out_ BOOL* succeeded);
+    virtual HRESULT STDMETHODCALLTYPE setTextSizeMultiplier(float);
+    virtual HRESULT STDMETHODCALLTYPE textSizeMultiplier(_Out_ float*);
+    virtual HRESULT STDMETHODCALLTYPE setApplicationNameForUserAgent(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE applicationNameForUserAgent(_Deref_opt_out_ BSTR*);  
+    virtual HRESULT STDMETHODCALLTYPE setCustomUserAgent(_In_ BSTR); 
+    virtual HRESULT STDMETHODCALLTYPE customUserAgent(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE userAgentForURL(_In_ BSTR url, _Deref_opt_out_ BSTR* userAgent); 
+    virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setCustomTextEncodingName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE customTextEncodingName(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setMediaStyle(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE mediaStyle(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE stringByEvaluatingJavaScriptFromString(_In_ BSTR script, _Deref_opt_out_ BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE windowScriptObject(_COM_Outptr_opt_ IWebScriptObject**);
+    virtual HRESULT STDMETHODCALLTYPE setPreferences(_In_opt_ IWebPreferences*);
+    virtual HRESULT STDMETHODCALLTYPE preferences(_COM_Outptr_opt_ IWebPreferences**);
+    virtual HRESULT STDMETHODCALLTYPE setPreferencesIdentifier(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE preferencesIdentifier(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE setHostWindow(_In_ HWND);
+    virtual HRESULT STDMETHODCALLTYPE hostWindow(_Deref_opt_out_ HWND*);
+    virtual HRESULT STDMETHODCALLTYPE searchFor(_In_ BSTR, BOOL forward, BOOL caseFlag, BOOL wrapFlag, _Out_ BOOL *found);
+    virtual HRESULT STDMETHODCALLTYPE registerViewClass(_In_opt_ IWebDocumentView*, _In_opt_ IWebDocumentRepresentation*, _In_ BSTR forMIMEType);
+    virtual HRESULT STDMETHODCALLTYPE setGroupName(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE groupName(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE estimatedProgress(_Out_ double*);
+    virtual HRESULT STDMETHODCALLTYPE isLoading(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE elementAtPoint(_In_ LPPOINT, _COM_Outptr_opt_ IPropertyBag** elementDictionary);
+    virtual HRESULT STDMETHODCALLTYPE pasteboardTypesForSelection(_COM_Outptr_opt_ IEnumVARIANT**);
+    virtual HRESULT STDMETHODCALLTYPE writeSelectionWithPasteboardTypes(__inout_ecount_full(cTypes) BSTR* types, int cTypes, _In_opt_ IDataObject* pasteboard);
+    virtual HRESULT STDMETHODCALLTYPE pasteboardTypesForElement(_In_opt_ IPropertyBag* elementDictionary, _COM_Outptr_opt_ IEnumVARIANT**);
+    virtual HRESULT STDMETHODCALLTYPE writeElement(_In_opt_ IPropertyBag* elementDictionary, __inout_ecount_full(cWithPasteboardTypes) BSTR* withPasteboardTypes, int cWithPasteboardTypes, _In_opt_ IDataObject* pasteboard);
+    virtual HRESULT STDMETHODCALLTYPE selectedText(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE centerSelectionInVisibleArea(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE moveDragCaretToPoint(_In_ LPPOINT);
+    virtual HRESULT STDMETHODCALLTYPE removeDragCaret();
+    virtual HRESULT STDMETHODCALLTYPE setDrawsBackground(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE drawsBackground(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setMainFrameURL(_In_ BSTR urlString);
+    virtual HRESULT STDMETHODCALLTYPE mainFrameURL(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE mainFrameDocument(_COM_Outptr_opt_ IDOMDocument**);
+    virtual HRESULT STDMETHODCALLTYPE mainFrameTitle(_Deref_opt_out_ BSTR*);
+    virtual HRESULT STDMETHODCALLTYPE mainFrameIcon(_Deref_opt_out_ HBITMAP*);
+    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsLocal(_In_ BSTR scheme);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE close();
</span><span class="cx"> 
</span><span class="cx">     // IWebIBActions
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE takeStringURLFrom(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE stopLoading(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE reload(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE canGoBack(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE goBack(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE canGoForward(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE goForward(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE canMakeTextLarger(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE makeTextLarger(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE canMakeTextSmaller(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE makeTextSmaller(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE canMakeTextStandardSize(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE makeTextStandardSize(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE toggleContinuousSpellChecking(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE toggleSmartInsertDelete(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE toggleGrammarChecking(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE reloadFromOrigin(_In_opt_ IUnknown* sender);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE takeStringURLFrom( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE stopLoading( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE reload( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE canGoBack( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE goBack( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE canGoForward( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE goForward( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE canMakeTextLarger( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE makeTextLarger( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE canMakeTextSmaller( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE makeTextSmaller( 
-        /* [in] */ IUnknown *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE canMakeTextStandardSize( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE makeTextStandardSize( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE toggleContinuousSpellChecking( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE toggleSmartInsertDelete( 
-        /* [in] */ IUnknown *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE toggleGrammarChecking( 
-        /* [in] */ IUnknown *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE reloadFromOrigin( 
-        /* [in] */ IUnknown *sender);
-
</del><span class="cx">     // IWebViewCSS
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE computedStyleForElement(_In_opt_ IDOMElement*, _In_ BSTR pseudoElement, _COM_Outptr_opt_ IDOMCSSStyleDeclaration**);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE computedStyleForElement( 
-        /* [in] */ IDOMElement *element,
-        /* [in] */ BSTR pseudoElement,
-        /* [retval][out] */ IDOMCSSStyleDeclaration **style);
-
</del><span class="cx">     // IWebViewEditing
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE editableDOMRangeForPoint(_In_ LPPOINT, _COM_Outptr_opt_ IDOMRange**);
+    virtual HRESULT STDMETHODCALLTYPE setSelectedDOMRange(_In_opt_ IDOMRange*, WebSelectionAffinity);
+    virtual HRESULT STDMETHODCALLTYPE selectedDOMRange(_COM_Outptr_opt_ IDOMRange**);
+    virtual HRESULT STDMETHODCALLTYPE selectionAffinity(_Out_ WebSelectionAffinity*);
+    virtual HRESULT STDMETHODCALLTYPE setEditable(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isEditable(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setTypingStyle(_In_opt_ IDOMCSSStyleDeclaration*);
+    virtual HRESULT STDMETHODCALLTYPE typingStyle(_COM_Outptr_opt_ IDOMCSSStyleDeclaration**);
+    virtual HRESULT STDMETHODCALLTYPE setSmartInsertDeleteEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE smartInsertDeleteEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setSelectTrailingWhitespaceEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isSelectTrailingWhitespaceEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setContinuousSpellCheckingEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE isContinuousSpellCheckingEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE spellCheckerDocumentTag(_Out_ int* tag);
+    virtual HRESULT STDMETHODCALLTYPE undoManager(_COM_Outptr_opt_ IWebUndoManager**);
+    virtual HRESULT STDMETHODCALLTYPE setEditingDelegate(_In_opt_ IWebEditingDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE editingDelegate(_COM_Outptr_opt_ IWebEditingDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE styleDeclarationWithText(_In_ BSTR text, _COM_Outptr_opt_ IDOMCSSStyleDeclaration**);
+    virtual HRESULT STDMETHODCALLTYPE hasSelectedRange(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE cutEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE copyEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE pasteEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE deleteEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE editingEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE isGrammarCheckingEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setPageSizeMultiplier(float);
+    virtual HRESULT STDMETHODCALLTYPE pageSizeMultiplier(_Out_ float*);
+    virtual HRESULT STDMETHODCALLTYPE canZoomPageIn(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE zoomPageIn(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE canZoomPageOut(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE zoomPageOut(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE canResetPageZoom(_In_opt_ IUnknown* sender, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE resetPageZoom(_In_opt_ IUnknown* sender);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE editableDOMRangeForPoint( 
-        /* [in] */ LPPOINT point,
-        /* [retval][out] */ IDOMRange **range);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSelectedDOMRange( 
-        /* [in] */ IDOMRange *range,
-        /* [in] */ WebSelectionAffinity affinity);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectedDOMRange( 
-        /* [retval][out] */ IDOMRange **range);
-    
-    virtual HRESULT STDMETHODCALLTYPE selectionAffinity( 
-        /* [retval][out][retval][out] */ WebSelectionAffinity *affinity);
-    
-    virtual HRESULT STDMETHODCALLTYPE setEditable( 
-        /* [in] */ BOOL flag);
-    
-    virtual HRESULT STDMETHODCALLTYPE isEditable( 
-        /* [retval][out] */ BOOL *isEditable);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTypingStyle( 
-        /* [in] */ IDOMCSSStyleDeclaration *style);
-    
-    virtual HRESULT STDMETHODCALLTYPE typingStyle( 
-        /* [retval][out] */ IDOMCSSStyleDeclaration **style);
-    
-    virtual HRESULT STDMETHODCALLTYPE setSmartInsertDeleteEnabled( 
-        /* [in] */ BOOL flag);
-    
-    virtual HRESULT STDMETHODCALLTYPE smartInsertDeleteEnabled( 
-        /* [in] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setSelectTrailingWhitespaceEnabled( 
-        /* [in] */ BOOL flag);
-    
-    virtual HRESULT STDMETHODCALLTYPE isSelectTrailingWhitespaceEnabled( 
-        /* [in] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setContinuousSpellCheckingEnabled( 
-        /* [in] */ BOOL flag);
-    
-    virtual HRESULT STDMETHODCALLTYPE isContinuousSpellCheckingEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE spellCheckerDocumentTag( 
-        /* [retval][out] */ int *tag);
-    
-    virtual HRESULT STDMETHODCALLTYPE undoManager( 
-        /* [retval][out] */ IWebUndoManager **manager);
-    
-    virtual HRESULT STDMETHODCALLTYPE setEditingDelegate( 
-        /* [in] */ IWebEditingDelegate *d);
-    
-    virtual HRESULT STDMETHODCALLTYPE editingDelegate( 
-        /* [retval][out] */ IWebEditingDelegate **d);
-    
-    virtual HRESULT STDMETHODCALLTYPE styleDeclarationWithText( 
-        /* [in] */ BSTR text,
-        /* [retval][out] */ IDOMCSSStyleDeclaration **style);
-    
-    virtual HRESULT STDMETHODCALLTYPE hasSelectedRange( 
-        /* [retval][out] */ BOOL *hasSelectedRange);
-    
-    virtual HRESULT STDMETHODCALLTYPE cutEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE copyEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE pasteEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE deleteEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE editingEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE isGrammarCheckingEnabled( 
-        /* [retval][out] */ BOOL *enabled);
-    
-    virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled( 
-        BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setPageSizeMultiplier( 
-        /* [in] */ float multiplier);
-    
-    virtual HRESULT STDMETHODCALLTYPE pageSizeMultiplier( 
-        /* [retval][out] */ float *multiplier);
-
-    virtual HRESULT STDMETHODCALLTYPE canZoomPageIn( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE zoomPageIn( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE canZoomPageOut( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE zoomPageOut( 
-        /* [in] */ IUnknown *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE canResetPageZoom( 
-        /* [in] */ IUnknown *sender,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE resetPageZoom( 
-        /* [in] */ IUnknown *sender);
-
</del><span class="cx">     // IWebViewUndoableEditing
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithNode(_In_opt_ IDOMNode*);
+    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithText(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithMarkupString(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithArchive(_In_opt_ IWebArchive*);
+    virtual HRESULT STDMETHODCALLTYPE deleteSelection();
+    virtual HRESULT STDMETHODCALLTYPE clearSelection();
+    virtual HRESULT STDMETHODCALLTYPE applyStyle(_In_opt_ IDOMCSSStyleDeclaration*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithNode( 
-        /* [in] */ IDOMNode *node);
-    
-    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithText( 
-        /* [in] */ BSTR text);
-    
-    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithMarkupString( 
-        /* [in] */ BSTR markupString);
-    
-    virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithArchive( 
-        /* [in] */ IWebArchive *archive);
-    
-    virtual HRESULT STDMETHODCALLTYPE deleteSelection( void);
-
-    virtual HRESULT STDMETHODCALLTYPE clearSelection(void);
-    
-    virtual HRESULT STDMETHODCALLTYPE applyStyle( 
-        /* [in] */ IDOMCSSStyleDeclaration *style);
-
</del><span class="cx">     // IWebViewEditingActions
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE copy(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE cut(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE paste(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE copyURL(_In_ BSTR url);
+    virtual HRESULT STDMETHODCALLTYPE copyFont(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE pasteFont(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE delete_(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE pasteAsPlainText(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE pasteAsRichText(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE changeFont(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE changeAttributes(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE changeDocumentBackgroundColor(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE changeColor(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE alignCenter(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE alignJustified(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE alignLeft(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE alignRight(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE checkSpelling(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE showGuessPanel(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE performFindPanelAction(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE startSpeaking(_In_opt_ IUnknown* sender);
+    virtual HRESULT STDMETHODCALLTYPE stopSpeaking(_In_opt_ IUnknown* sender);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE copy( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE cut( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE paste( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE copyURL( 
-        /* [in] */ BSTR url);
-
-    virtual HRESULT STDMETHODCALLTYPE copyFont( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE pasteFont( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE delete_( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE pasteAsPlainText( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE pasteAsRichText( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE changeFont( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE changeAttributes( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE changeDocumentBackgroundColor( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE changeColor( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE alignCenter( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE alignJustified( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE alignLeft( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE alignRight( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE checkSpelling( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE showGuessPanel( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE performFindPanelAction( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE startSpeaking( 
-        /* [in] */ IUnknown *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE stopSpeaking( 
-        /* [in] */ IUnknown *sender);
-
</del><span class="cx">     // IWebNotificationObserver
</span><ins>+    virtual HRESULT STDMETHODCALLTYPE onNotify(_In_opt_ IWebNotification*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE onNotify( 
-        /* [in] */ IWebNotification *notification);
-
</del><span class="cx">     // IWebViewPrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE MIMETypeForExtension(
-        /* [in] */ BSTR extension,
-        /* [retval][out] */ BSTR *mimeType);
-
-    virtual HRESULT STDMETHODCALLTYPE setCustomDropTarget(
-        /* [in] */ IDropTarget* dt);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE MIMETypeForExtension(_In_ BSTR extension, _Deref_opt_out_ BSTR *mimeType);
+    virtual HRESULT STDMETHODCALLTYPE setCustomDropTarget(_In_opt_ IDropTarget*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE removeCustomDropTarget();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE setInViewSourceMode( 
-        /* [in] */ BOOL flag);
-    
-    virtual HRESULT STDMETHODCALLTYPE inViewSourceMode( 
-        /* [retval][out] */ BOOL* flag);
-
-    virtual HRESULT STDMETHODCALLTYPE viewWindow(/* [retval][out] */ HWND* window);
-
-    virtual HRESULT STDMETHODCALLTYPE setFormDelegate( 
-        /* [in] */ IWebFormDelegate *formDelegate);
-
-    virtual HRESULT STDMETHODCALLTYPE formDelegate( 
-        /* [retval][out] */ IWebFormDelegate **formDelegate);
-
-    virtual HRESULT STDMETHODCALLTYPE setFrameLoadDelegatePrivate( 
-        /* [in] */ IWebFrameLoadDelegatePrivate *frameLoadDelegatePrivate);
-
-    virtual HRESULT STDMETHODCALLTYPE frameLoadDelegatePrivate( 
-        /* [retval][out] */ IWebFrameLoadDelegatePrivate **frameLoadDelegatePrivate);
-
-    virtual HRESULT STDMETHODCALLTYPE scrollOffset( 
-        /* [retval][out] */ LPPOINT offset);
-
-    virtual HRESULT STDMETHODCALLTYPE scrollBy( 
-        /* [in] */ LPPOINT offset);
-
-    virtual HRESULT STDMETHODCALLTYPE visibleContentRect( 
-        /* [retval][out] */ LPRECT rect);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInViewSourceMode(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE inViewSourceMode(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE viewWindow(_Deref_opt_out_ HWND*);
+    virtual HRESULT STDMETHODCALLTYPE setFormDelegate(_In_opt_ IWebFormDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE formDelegate(_COM_Outptr_opt_ IWebFormDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE setFrameLoadDelegatePrivate(_In_opt_ IWebFrameLoadDelegatePrivate*);
+    virtual HRESULT STDMETHODCALLTYPE frameLoadDelegatePrivate(_COM_Outptr_opt_ IWebFrameLoadDelegatePrivate**);
+    virtual HRESULT STDMETHODCALLTYPE scrollOffset(_Out_ LPPOINT);
+    virtual HRESULT STDMETHODCALLTYPE scrollBy(_In_ LPPOINT);
+    virtual HRESULT STDMETHODCALLTYPE visibleContentRect(_Out_ LPRECT);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE updateFocusedAndActiveState();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE executeCoreCommandByName(BSTR name, BSTR value);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE executeCoreCommandByName(_In_ BSTR name, _In_ BSTR value);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE clearMainFrameName();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE markAllMatchesForText(
-        BSTR search, BOOL caseSensitive, BOOL highlight, UINT limit, UINT* matches);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE markAllMatchesForText(_In_ BSTR search, BOOL caseSensitive, BOOL highlight, UINT limit, _Out_ UINT* matches);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unmarkAllTextMatches();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE rectsForTextMatches(
-        IEnumTextMatches** pmatches);
-
-    virtual HRESULT STDMETHODCALLTYPE generateSelectionImage(BOOL forceWhiteText, HBITMAP* hBitmap);
-
-    virtual HRESULT STDMETHODCALLTYPE selectionRect(
-        RECT* rc);
-    
-    virtual HRESULT STDMETHODCALLTYPE DragEnter(
-        IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
-
-    virtual HRESULT STDMETHODCALLTYPE DragOver(
-        DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
-    
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE rectsForTextMatches(_COM_Outptr_opt_ IEnumTextMatches**);
+    virtual HRESULT STDMETHODCALLTYPE generateSelectionImage(BOOL forceWhiteText, _Deref_opt_out_ HBITMAP* hBitmap);
+    virtual HRESULT STDMETHODCALLTYPE selectionRect(_Inout_ RECT*);
+    virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject*, DWORD grfKeyState, POINTL, DWORD* pdwEffect);
+    virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE DragLeave();
</span><del>-    
-    virtual HRESULT STDMETHODCALLTYPE Drop(
-        IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
-
-    virtual HRESULT STDMETHODCALLTYPE canHandleRequest( 
-        IWebURLRequest *request,
-        BOOL *result);
-
-    virtual HRESULT STDMETHODCALLTYPE standardUserAgentWithApplicationName( 
-        /* [in] */ BSTR applicationName,
-        /* [retval][out] */ BSTR *groupName);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject*, DWORD grfKeyState, POINTL, DWORD* pdwEffect);
+    virtual HRESULT STDMETHODCALLTYPE canHandleRequest(_In_opt_ IWebURLRequest*, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE standardUserAgentWithApplicationName(_In_ BSTR applicationName, _Deref_opt_out_ BSTR *groupName);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE clearFocusNode();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE setInitialFocus(
-        /* [in] */ BOOL forward);
-    
-    virtual HRESULT STDMETHODCALLTYPE setTabKeyCyclesThroughElements( 
-        /* [in] */ BOOL cycles);
-    
-    virtual HRESULT STDMETHODCALLTYPE tabKeyCyclesThroughElements( 
-        /* [retval][out] */ BOOL *result);
-
-    virtual HRESULT STDMETHODCALLTYPE setAllowSiteSpecificHacks(
-        /* [in] */ BOOL allows);
-
-    virtual HRESULT STDMETHODCALLTYPE addAdditionalPluginDirectory( 
-        /* [in] */ BSTR directory);    
-
-    virtual HRESULT STDMETHODCALLTYPE loadBackForwardListFromOtherView( 
-        /* [in] */ IWebView *otherView);
-        
-    virtual HRESULT STDMETHODCALLTYPE inspector(
-        /* [retval][out] */ IWebInspector**);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setInitialFocus(BOOL forward);
+    virtual HRESULT STDMETHODCALLTYPE setTabKeyCyclesThroughElements(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE tabKeyCyclesThroughElements(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setAllowSiteSpecificHacks(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE addAdditionalPluginDirectory(_In_ BSTR);    
+    virtual HRESULT STDMETHODCALLTYPE loadBackForwardListFromOtherView(_In_opt_ IWebView*);
+    virtual HRESULT STDMETHODCALLTYPE inspector(_COM_Outptr_opt_ IWebInspector**);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE clearUndoRedoOperations( void);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE shouldClose( 
-        /* [retval][out] */ BOOL* result);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE shouldClose(_Out_ BOOL*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setProhibitsMainFrameScrolling(BOOL);
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setShouldApplyMacFontAscentHack(BOOL);
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE windowAncestryDidChange();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE paintDocumentRectToContext(RECT, HDC);
-
-    virtual HRESULT STDMETHODCALLTYPE paintScrollViewRectToContextAtPoint(RECT, POINT, HDC);
-
-    virtual HRESULT STDMETHODCALLTYPE reportException(
-        /* [in] */ JSContextRef context,
-        /* [in] */ JSValueRef exception);
-
-    virtual HRESULT STDMETHODCALLTYPE elementFromJS(
-        /* [in] */ JSContextRef context,
-        /* [in] */ JSValueRef nodeObject,
-        /* [retval][out] */ IDOMElement **element);
-
-    virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerTimeDelay(
-        /* [in] */ double timeDelay);
-
-    virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerChunkSize(
-        /* [in] */ int chunkSize);
-
-    virtual HRESULT STDMETHODCALLTYPE backingStore(/* [out, retval] */ HBITMAP* hBitmap);
-
-    virtual HRESULT STDMETHODCALLTYPE setTransparent(
-        /* [in] */ BOOL transparent);
-
-    virtual HRESULT STDMETHODCALLTYPE transparent(
-        /* [out, retval] */ BOOL* transparent);
-
-    virtual HRESULT STDMETHODCALLTYPE setDefersCallbacks(
-        /* [in] */ BOOL defersCallbacks);
-
-    virtual HRESULT STDMETHODCALLTYPE defersCallbacks(
-        /* [out, retval] */ BOOL* defersCallbacks);
-
-    virtual HRESULT STDMETHODCALLTYPE globalHistoryItem(
-        /* [out, retval] */ IWebHistoryItem** item);
-
-    virtual HRESULT STDMETHODCALLTYPE setAlwaysUsesComplexTextCodePath(
-        /* [in] */ BOOL complex);
-
-    virtual HRESULT STDMETHODCALLTYPE alwaysUsesComplexTextCodePath(
-        /* [out, retval] */ BOOL* complex);
-
-    virtual HRESULT STDMETHODCALLTYPE setCookieEnabled(
-        /* [in] */ BOOL enable);
-
-    virtual HRESULT STDMETHODCALLTYPE cookieEnabled(
-        /* [out, retval] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setMediaVolume(
-        /* [in] */ float volume);
-
-    virtual HRESULT STDMETHODCALLTYPE mediaVolume(
-        /* [out, retval] */ float* volume);
-
-    virtual HRESULT STDMETHODCALLTYPE registerEmbeddedViewMIMEType( 
-        /* [in] */ BSTR mimeType);
-
-    virtual HRESULT STDMETHODCALLTYPE setMemoryCacheDelegateCallsEnabled( 
-        /* [in] */ BOOL enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setJavaScriptURLsAreAllowed(
-        /* [in] */ BOOL areAllowed);
-
-    virtual HRESULT STDMETHODCALLTYPE setCanStartPlugins(
-        /* [in] */ BOOL canStartPlugins);
-
-    virtual HRESULT STDMETHODCALLTYPE addUserScriptToGroup(BSTR groupName, IWebScriptWorld*, BSTR source, BSTR url,
-                                                           unsigned whitelistCount, BSTR* whitelist, 
-                                                           unsigned blacklistCount, BSTR* blacklist,
-                                                           WebUserScriptInjectionTime);
-    virtual HRESULT STDMETHODCALLTYPE addUserStyleSheetToGroup(BSTR groupName, IWebScriptWorld*, BSTR source, BSTR url,
-                                                               unsigned whitelistCount, BSTR* whitelist, 
-                                                               unsigned blacklistCount, BSTR* blacklist);
-    virtual HRESULT STDMETHODCALLTYPE removeUserScriptFromGroup(BSTR groupName, IWebScriptWorld*, BSTR url);
-    virtual HRESULT STDMETHODCALLTYPE removeUserStyleSheetFromGroup(BSTR groupName, IWebScriptWorld*, BSTR url);
-    virtual HRESULT STDMETHODCALLTYPE removeUserScriptsFromGroup(BSTR groupName, IWebScriptWorld*);
-    virtual HRESULT STDMETHODCALLTYPE removeUserStyleSheetsFromGroup(BSTR groupName, IWebScriptWorld*);
-    virtual HRESULT STDMETHODCALLTYPE removeAllUserContentFromGroup(BSTR groupName);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE paintDocumentRectToContext(RECT, _In_ HDC);
+    virtual HRESULT STDMETHODCALLTYPE paintScrollViewRectToContextAtPoint(RECT, POINT, _In_ HDC);
+    virtual HRESULT STDMETHODCALLTYPE reportException(_In_ JSContextRef, _In_ JSValueRef exception);
+    virtual HRESULT STDMETHODCALLTYPE elementFromJS(_In_ JSContextRef, _In_ JSValueRef nodeObject, _COM_Outptr_opt_ IDOMElement**);
+    virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerTimeDelay(double);
+    virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerChunkSize(int);
+    virtual HRESULT STDMETHODCALLTYPE backingStore(_Deref_opt_out_ HBITMAP*);
+    virtual HRESULT STDMETHODCALLTYPE setTransparent(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE transparent(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setDefersCallbacks(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE defersCallbacks(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE globalHistoryItem(_COM_Outptr_opt_ IWebHistoryItem**);
+    virtual HRESULT STDMETHODCALLTYPE setAlwaysUsesComplexTextCodePath(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE alwaysUsesComplexTextCodePath(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setCookieEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE cookieEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setMediaVolume(float);
+    virtual HRESULT STDMETHODCALLTYPE mediaVolume(_Out_ float* volume);
+    virtual HRESULT STDMETHODCALLTYPE registerEmbeddedViewMIMEType(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE setMemoryCacheDelegateCallsEnabled(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setJavaScriptURLsAreAllowed(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE setCanStartPlugins(BOOL);
+    virtual HRESULT STDMETHODCALLTYPE addUserScriptToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*, _In_ BSTR source, _In_ BSTR url,
+        unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist, unsigned blacklistCount,
+        __inout_ecount_full(blacklistCount) BSTR* blacklist, WebUserScriptInjectionTime);
+    virtual HRESULT STDMETHODCALLTYPE addUserStyleSheetToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*, _In_ BSTR source, _In_ BSTR url,
+        unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist, unsigned blacklistCount, __inout_ecount_full(blacklistCount) BSTR* blacklist);
+    virtual HRESULT STDMETHODCALLTYPE removeUserScriptFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*, _In_ BSTR url);
+    virtual HRESULT STDMETHODCALLTYPE removeUserStyleSheetFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*, _In_ BSTR url);
+    virtual HRESULT STDMETHODCALLTYPE removeUserScriptsFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*);
+    virtual HRESULT STDMETHODCALLTYPE removeUserStyleSheetsFromGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*);
+    virtual HRESULT STDMETHODCALLTYPE removeAllUserContentFromGroup(_In_ BSTR groupName);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused1();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused2();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE invalidateBackingStore(const RECT*);
-
-    virtual HRESULT STDMETHODCALLTYPE addOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains);
-    virtual HRESULT STDMETHODCALLTYPE removeOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE invalidateBackingStore(_In_opt_ const RECT*);
+    virtual HRESULT STDMETHODCALLTYPE addOriginAccessWhitelistEntry(_In_ BSTR sourceOrigin, _In_ BSTR destinationProtocol, _In_ BSTR destinationHost, BOOL allowDestinationSubdomains);
+    virtual HRESULT STDMETHODCALLTYPE removeOriginAccessWhitelistEntry(_In_ BSTR sourceOrigin, _In_ BSTR destinationProtocol, _In_ BSTR destinationHost, BOOL allowDestinationSubdomains);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE resetOriginAccessWhitelists();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE setHistoryDelegate(IWebHistoryDelegate* historyDelegate);
-    virtual HRESULT STDMETHODCALLTYPE historyDelegate(IWebHistoryDelegate** historyDelegate);
-    virtual HRESULT STDMETHODCALLTYPE addVisitedLinks(BSTR* visitedURLs, unsigned visitedURLCount);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setHistoryDelegate(_In_ IWebHistoryDelegate*);
+    virtual HRESULT STDMETHODCALLTYPE historyDelegate(_COM_Outptr_opt_ IWebHistoryDelegate**);
+    virtual HRESULT STDMETHODCALLTYPE addVisitedLinks(__inout_ecount_full(visitedURLCount) BSTR* visitedURLs, unsigned visitedURLCount);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused3();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused4();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused5();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE setGeolocationProvider(IWebGeolocationProvider* locationProvider);
-    virtual HRESULT STDMETHODCALLTYPE geolocationProvider(IWebGeolocationProvider** locationProvider);
-    virtual HRESULT STDMETHODCALLTYPE geolocationDidChangePosition(IWebGeolocationPosition* position);
-    virtual HRESULT STDMETHODCALLTYPE geolocationDidFailWithError(IWebError* error);
-
-    virtual HRESULT STDMETHODCALLTYPE setDomainRelaxationForbiddenForURLScheme(BOOL forbidden, BSTR scheme);
-    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsSecure(BSTR);
-    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(BSTR);
-    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(BSTR);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE setGeolocationProvider(_In_opt_ IWebGeolocationProvider*);
+    virtual HRESULT STDMETHODCALLTYPE geolocationProvider(_COM_Outptr_opt_ IWebGeolocationProvider**);
+    virtual HRESULT STDMETHODCALLTYPE geolocationDidChangePosition(_In_opt_ IWebGeolocationPosition* position);
+    virtual HRESULT STDMETHODCALLTYPE geolocationDidFailWithError(_In_opt_ IWebError* error);
+    virtual HRESULT STDMETHODCALLTYPE setDomainRelaxationForbiddenForURLScheme(BOOL forbidden, _In_ BSTR scheme);
+    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsSecure(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(_In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(_In_ BSTR);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE nextDisplayIsSynchronous();
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE defaultMinimumTimerInterval(
-        /* [retval][out] */ double *interval);
-
-    virtual HRESULT STDMETHODCALLTYPE setMinimumTimerInterval(
-        /* [in] */ double);
-
-    virtual HRESULT STDMETHODCALLTYPE httpPipeliningEnabled(
-        /* [out, retval] */ BOOL* enabled);
-
-    virtual HRESULT STDMETHODCALLTYPE setHTTPPipeliningEnabled(
-        /* [in] */ BOOL);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE defaultMinimumTimerInterval(_Out_ double*);
+    virtual HRESULT STDMETHODCALLTYPE setMinimumTimerInterval(double);
+    virtual HRESULT STDMETHODCALLTYPE httpPipeliningEnabled(_Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setHTTPPipeliningEnabled(BOOL);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setUsesLayeredWindow(BOOL);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE usesLayeredWindow(BOOL*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE usesLayeredWindow(_Out_ BOOL*);
</ins><span class="cx"> 
</span><span class="cx">     // IWebViewPrivate2
</span><span class="cx">     HRESULT STDMETHODCALLTYPE setLoadResourcesSerially(BOOL);
</span><span class="cx">     HRESULT STDMETHODCALLTYPE scaleWebView(double scale, POINT origin);
</span><span class="cx">     HRESULT STDMETHODCALLTYPE dispatchPendingLoadRequests();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setCustomBackingScaleFactor(double);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE backingScaleFactor(double*);
-    virtual HRESULT STDMETHODCALLTYPE addUserScriptToGroup(BSTR groupName, IWebScriptWorld*, BSTR source, BSTR url,
-        unsigned whitelistCount, BSTR* whitelist, unsigned blacklistCount, BSTR* blacklist, WebUserScriptInjectionTime, WebUserContentInjectedFrames);
-    virtual HRESULT STDMETHODCALLTYPE addUserStyleSheetToGroup(BSTR groupName, IWebScriptWorld*, BSTR source, BSTR url,
-        unsigned whitelistCount, BSTR* whitelist, unsigned blacklistCount, BSTR* blacklist, WebUserContentInjectedFrames);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE backingScaleFactor(_Out_ double*);
+    virtual HRESULT STDMETHODCALLTYPE addUserScriptToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*, _In_ BSTR source, _In_ BSTR url,
+        unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist, unsigned blacklistCount, __inout_ecount_full(blacklistCount) BSTR* blacklist, WebUserScriptInjectionTime, WebUserContentInjectedFrames);
+    virtual HRESULT STDMETHODCALLTYPE addUserStyleSheetToGroup(_In_ BSTR groupName, _In_opt_ IWebScriptWorld*, _In_ BSTR source, _In_ BSTR url,
+        unsigned whitelistCount, __inout_ecount_full(whitelistCount) BSTR* whitelist, unsigned blacklistCount, __inout_ecount_full(blacklistCount) BSTR* blacklist, WebUserContentInjectedFrames);
</ins><span class="cx"> 
</span><span class="cx">     // WebView
</span><span class="cx">     bool shouldUseEmbeddedView(const WTF::String&amp; mimeType) const;
</span><span class="lines">@@ -979,25 +513,13 @@
</span><span class="cx">     bool canShowMIMETypeAsHTML(const String&amp; mimeType);
</span><span class="cx"> 
</span><span class="cx">     // Used by TextInputController in DumpRenderTree
</span><ins>+    HRESULT STDMETHODCALLTYPE setCompositionForTesting(_In_ BSTR composition, UINT from, UINT length);
+    HRESULT STDMETHODCALLTYPE hasCompositionForTesting(_Out_ BOOL*);
+    HRESULT STDMETHODCALLTYPE confirmCompositionForTesting(_In_ BSTR composition);
+    HRESULT STDMETHODCALLTYPE compositionRangeForTesting(_Out_ UINT* startPosition, _Out_ UINT* length);
+    HRESULT STDMETHODCALLTYPE firstRectForCharacterRangeForTesting(UINT location, UINT length, _Out_ RECT* resultRect);
+    HRESULT STDMETHODCALLTYPE selectedRangeForTesting(_Out_ UINT* location, _Out_ UINT* length);
</ins><span class="cx"> 
</span><del>-    HRESULT STDMETHODCALLTYPE setCompositionForTesting(
-        /* [in] */ BSTR composition, 
-        /* [in] */ UINT from, 
-        /* [in] */ UINT length);
-
-    HRESULT STDMETHODCALLTYPE hasCompositionForTesting(/* [out, retval] */ BOOL* result);
-
-    HRESULT STDMETHODCALLTYPE confirmCompositionForTesting(/* [in] */ BSTR composition);
-
-    HRESULT STDMETHODCALLTYPE compositionRangeForTesting(/* [out] */ UINT* startPosition, /* [out] */ UINT* length);
-
-    HRESULT STDMETHODCALLTYPE firstRectForCharacterRangeForTesting(
-    /* [in] */ UINT location, 
-    /* [in] */ UINT length, 
-    /* [out, retval] */ RECT* resultRect);
-
-    HRESULT STDMETHODCALLTYPE selectedRangeForTesting(/* [out] */ UINT* location, /* [out] */ UINT* length);
-
</del><span class="cx">     float deviceScaleFactor() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -1026,7 +548,7 @@
</span><span class="cx">     // We set this variable in DragEnter and DragOver so that it can be used in Drop to set the correct drop effect. 
</span><span class="cx">     // Thus, on return from DoDragDrop we have the correct pdwEffect for the drag-and-drop operation.
</span><span class="cx">     // (see https://bugs.webkit.org/show_bug.cgi?id=29264)
</span><del>-    DWORD m_lastDropEffect;
</del><ins>+    DWORD m_lastDropEffect { 0 };
</ins><span class="cx"> 
</span><span class="cx">     // GraphicsLayerClient
</span><span class="cx">     virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double time);
</span><span class="lines">@@ -1036,7 +558,7 @@
</span><span class="cx">     // CACFLayerTreeHostClient
</span><span class="cx">     virtual void flushPendingGraphicsLayerChanges();
</span><span class="cx"> 
</span><del>-    bool m_shouldInvertColors;
</del><ins>+    bool m_shouldInvertColors { false };
</ins><span class="cx">     void setShouldInvertColors(bool);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="lines">@@ -1078,15 +600,15 @@
</span><span class="cx">     virtual void fullScreenClientRestoreScrollPosition();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> #if !ASSERT_DISABLED
</span><del>-    bool m_deletionHasBegun;
</del><ins>+    bool m_deletionHasBegun { false };
</ins><span class="cx"> #endif
</span><del>-    HWND m_hostWindow;
-    HWND m_viewWindow;
-    WebFrame* m_mainFrame;
-    WebCore::Page* m_page;
-    WebInspectorClient* m_inspectorClient;
</del><ins>+    HWND m_hostWindow { nullptr };
+    HWND m_viewWindow { nullptr };
+    WebFrame* m_mainFrame { nullptr };
+    WebCore::Page* m_page { nullptr };
+    WebInspectorClient* m_inspectorClient { nullptr };
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WebCore::SharedGDIObject&lt;HBITMAP&gt;&gt; m_backingStoreBitmap;
</span><span class="cx">     SIZE m_backingStoreSize;
</span><span class="lines">@@ -1107,48 +629,48 @@
</span><span class="cx">     COMPtr&lt;WebInspector&gt; m_webInspector;
</span><span class="cx">     COMPtr&lt;IWebGeolocationProvider&gt; m_geolocationProvider;
</span><span class="cx"> 
</span><del>-    bool m_userAgentOverridden;
-    bool m_useBackForwardList;
</del><ins>+    bool m_userAgentOverridden { false };
+    bool m_useBackForwardList { true };
</ins><span class="cx">     WTF::String m_userAgentCustom;
</span><span class="cx">     WTF::String m_userAgentStandard;
</span><del>-    float m_zoomMultiplier;
</del><ins>+    float m_zoomMultiplier { 1.0f };
</ins><span class="cx">     float m_customDeviceScaleFactor { 0 };
</span><del>-    bool m_zoomsTextOnly;
</del><ins>+    bool m_zoomsTextOnly { false };
</ins><span class="cx">     WTF::String m_overrideEncoding;
</span><span class="cx">     WTF::String m_applicationName;
</span><del>-    bool m_mouseActivated;
</del><ins>+    bool m_mouseActivated { false };
</ins><span class="cx">     // WebCore dragging logic needs to be able to inspect the drag data
</span><span class="cx">     // this is updated in DragEnter/Leave/Drop
</span><span class="cx">     COMPtr&lt;IDataObject&gt; m_dragData;
</span><span class="cx">     COMPtr&lt;IDropTargetHelper&gt; m_dropTargetHelper;
</span><del>-    UChar m_currentCharacterCode;
-    bool m_isBeingDestroyed;
-    unsigned m_paintCount;
-    bool m_hasSpellCheckerDocumentTag;
-    bool m_didClose;
-    bool m_hasCustomDropTarget;
-    unsigned m_inIMEComposition;
-    HWND m_toolTipHwnd;
</del><ins>+    UChar m_currentCharacterCode { 0 };
+    bool m_isBeingDestroyed { false };
+    unsigned m_paintCount { 0 };
+    bool m_hasSpellCheckerDocumentTag { false };
+    bool m_didClose { false };
+    bool m_hasCustomDropTarget { false };
+    unsigned m_inIMEComposition { 0 };
+    HWND m_toolTipHwnd { nullptr };
</ins><span class="cx">     WTF::String m_toolTip;
</span><del>-    bool m_deleteBackingStoreTimerActive;
</del><ins>+    bool m_deleteBackingStoreTimerActive { false };
</ins><span class="cx"> 
</span><del>-    bool m_transparent;
</del><ins>+    bool m_transparent { false };
</ins><span class="cx"> 
</span><span class="cx">     static bool s_allowSiteSpecificHacks;
</span><span class="cx"> 
</span><del>-    WebCore::SuspendableTimer* m_closeWindowTimer;
</del><ins>+    WebCore::SuspendableTimer* m_closeWindowTimer { nullptr };
</ins><span class="cx">     std::unique_ptr&lt;TRACKMOUSEEVENT&gt; m_mouseOutTracker;
</span><span class="cx"> 
</span><del>-    HWND m_topLevelParent;
</del><ins>+    HWND m_topLevelParent { nullptr };
</ins><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;HashSet&lt;WTF::String&gt;&gt; m_embeddedViewMIMETypes;
</span><span class="cx"> 
</span><span class="cx">     //Variables needed to store gesture information
</span><span class="cx">     RefPtr&lt;WebCore::Node&gt; m_gestureTargetNode;
</span><del>-    long m_lastPanX;
-    long m_lastPanY;
-    long m_xOverpan;
-    long m_yOverpan;
</del><ins>+    long m_lastPanX { 0 };
+    long m_lastPanY { 0 };
+    long m_xOverpan { 0 };
+    long m_yOverpan { 0 };
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx">     std::unique_ptr&lt;FullscreenVideoController&gt; m_fullScreenVideoController;
</span><span class="lines">@@ -1162,13 +684,13 @@
</span><span class="cx"> #elif USE(TEXTURE_MAPPER_GL)
</span><span class="cx">     std::unique_ptr&lt;AcceleratedCompositingContext&gt; m_acceleratedCompositingContext;
</span><span class="cx"> #endif
</span><del>-    bool m_isAcceleratedCompositing;
</del><ins>+    bool m_isAcceleratedCompositing { false };
</ins><span class="cx"> 
</span><del>-    bool m_nextDisplayIsSynchronous;
-    bool m_usesLayeredWindow;
-    bool m_needsDisplay;
</del><ins>+    bool m_nextDisplayIsSynchronous { false };
+    bool m_usesLayeredWindow { false };
+    bool m_needsDisplay { false };
</ins><span class="cx"> 
</span><del>-    HCURSOR m_lastSetCursor;
</del><ins>+    HCURSOR m_lastSetCursor { nullptr };
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WebCore::HistoryItem&gt; m_globalHistoryItem;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebWorkersPrivatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebWorkersPrivate.cpp (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebWorkersPrivate.cpp        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebWorkersPrivate.cpp        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -35,9 +35,11 @@
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebWorkersPrivate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebWorkersPrivate::QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject)
</ins><span class="cx"> {
</span><del>-    *ppvObject = 0;
</del><ins>+    if (!ppvObject)
+        return E_POINTER;
+    *ppvObject = nullptr;
</ins><span class="cx">     if (IsEqualGUID(riid, __uuidof(IWebWorkersPrivate)))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="lines">@@ -51,12 +53,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebWorkersPrivate::AddRef(void)
</del><ins>+ULONG WebWorkersPrivate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebWorkersPrivate::Release(void)
</del><ins>+ULONG WebWorkersPrivate::Release(void)
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -67,7 +69,7 @@
</span><span class="cx"> 
</span><span class="cx"> // IWebWorkersPrivate ---------------------------------------------------------
</span><span class="cx"> 
</span><del>-HRESULT WebWorkersPrivate::workerThreadCount(UINT* number)
</del><ins>+HRESULT WebWorkersPrivate::workerThreadCount(_Out_ UINT* number)
</ins><span class="cx"> {
</span><span class="cx">     if (!number)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -86,7 +88,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebWorkersPrivate::WebWorkersPrivate()
</span><del>-    : m_refCount(0)
</del><span class="cx"> {
</span><span class="cx">     gClassCount++;
</span><span class="cx">     gClassNameCount().add(&quot;WebWorkersPrivate&quot;);
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebWorkersPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebWorkersPrivate.h (188661 => 188662)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebWorkersPrivate.h        2015-08-19 23:43:54 UTC (rev 188661)
+++ trunk/Source/WebKit/win/WebWorkersPrivate.h        2015-08-20 00:00:38 UTC (rev 188662)
</span><span class="lines">@@ -42,15 +42,15 @@
</span><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     // IUnknown
</span><del>-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
+    virtual ULONG STDMETHODCALLTYPE AddRef();
+    virtual ULONG STDMETHODCALLTYPE Release();
</ins><span class="cx"> 
</span><span class="cx">     // IWebWorkersPrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE workerThreadCount(UINT*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE workerThreadCount(_Out_ UINT*);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // WebWorkersPrivate_h
</span></span></pre>
</div>
</div>

</body>
</html>