<!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>[188709] trunk/Tools</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/188709">188709</a></dd>
<dt>Author</dt> <dd>bfulgham@apple.com</dd>
<dt>Date</dt> <dd>2015-08-20 15:11:17 -0700 (Thu, 20 Aug 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>[Win] Update Windows tools for revised MIDL interfaces
https://bugs.webkit.org/show_bug.cgi?id=148249

Reviewed by Dean Jackson.

This is a follow-up to Bug 148001.

Revise the testing software to use compatible signatures and
implementations to match the requirements of the IDL generated
with the SAL annotations.

* DumpRenderTree/win/DRTDataObject.cpp:
* DumpRenderTree/win/DRTDataObject.h:
* DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
* DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
* DumpRenderTree/win/DRTDropSource.cpp:
* DumpRenderTree/win/DRTDropSource.h:
* DumpRenderTree/win/DumpRenderTree.cpp:
* DumpRenderTree/win/EditingDelegate.cpp:
* DumpRenderTree/win/EditingDelegate.h:
* DumpRenderTree/win/FrameLoadDelegate.cpp:
* DumpRenderTree/win/FrameLoadDelegate.h:
* DumpRenderTree/win/HistoryDelegate.cpp:
* DumpRenderTree/win/HistoryDelegate.h:
* DumpRenderTree/win/PolicyDelegate.cpp:
* DumpRenderTree/win/PolicyDelegate.h:
* DumpRenderTree/win/ResourceLoadDelegate.cpp:
* DumpRenderTree/win/ResourceLoadDelegate.h:
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/win/UIDelegate.cpp:
* DumpRenderTree/win/UIDelegate.h:
* WinLauncher/AccessibilityDelegate.cpp:
* WinLauncher/AccessibilityDelegate.h:
* WinLauncher/Common.cpp:
* WinLauncher/DOMDefaultImpl.cpp:
* WinLauncher/DOMDefaultImpl.h:
* WinLauncher/PageLoadTestClient.cpp:
* WinLauncher/PageLoadTestClient.h:
* WinLauncher/PrintWebUIDelegate.cpp:
* WinLauncher/PrintWebUIDelegate.h:
* WinLauncher/ResourceLoadDelegate.cpp:
* WinLauncher/ResourceLoadDelegate.h:
* WinLauncher/WebDownloadDelegate.cpp:
* WinLauncher/WebDownloadDelegate.h:
* WinLauncher/WinLauncherWebHost.cpp:
* WinLauncher/WinLauncherWebHost.h:
* WinLauncher/WinMain.cpp:
* win/DLLLauncher/DLLLauncherMain.cpp:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsDumpRenderTreewinDRTDataObjectcpp">trunk/Tools/DumpRenderTree/win/DRTDataObject.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinDRTDataObjecth">trunk/Tools/DumpRenderTree/win/DRTDataObject.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinDRTDesktopNotificationPresentercpp">trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinDRTDesktopNotificationPresenterh">trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinDRTDropSourcecpp">trunk/Tools/DumpRenderTree/win/DRTDropSource.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinDRTDropSourceh">trunk/Tools/DumpRenderTree/win/DRTDropSource.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinDumpRenderTreecpp">trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinEditingDelegatecpp">trunk/Tools/DumpRenderTree/win/EditingDelegate.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinEditingDelegateh">trunk/Tools/DumpRenderTree/win/EditingDelegate.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinFrameLoadDelegatecpp">trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinFrameLoadDelegateh">trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinHistoryDelegatecpp">trunk/Tools/DumpRenderTree/win/HistoryDelegate.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinHistoryDelegateh">trunk/Tools/DumpRenderTree/win/HistoryDelegate.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinPolicyDelegatecpp">trunk/Tools/DumpRenderTree/win/PolicyDelegate.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinPolicyDelegateh">trunk/Tools/DumpRenderTree/win/PolicyDelegate.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinResourceLoadDelegatecpp">trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinResourceLoadDelegateh">trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.h</a></li>
<li><a href="#trunkToolsDumpRenderTreewinTestRunnerWincpp">trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinUIDelegatecpp">trunk/Tools/DumpRenderTree/win/UIDelegate.cpp</a></li>
<li><a href="#trunkToolsDumpRenderTreewinUIDelegateh">trunk/Tools/DumpRenderTree/win/UIDelegate.h</a></li>
<li><a href="#trunkToolsWinLauncherAccessibilityDelegatecpp">trunk/Tools/WinLauncher/AccessibilityDelegate.cpp</a></li>
<li><a href="#trunkToolsWinLauncherAccessibilityDelegateh">trunk/Tools/WinLauncher/AccessibilityDelegate.h</a></li>
<li><a href="#trunkToolsWinLauncherCommoncpp">trunk/Tools/WinLauncher/Common.cpp</a></li>
<li><a href="#trunkToolsWinLauncherDOMDefaultImplcpp">trunk/Tools/WinLauncher/DOMDefaultImpl.cpp</a></li>
<li><a href="#trunkToolsWinLauncherDOMDefaultImplh">trunk/Tools/WinLauncher/DOMDefaultImpl.h</a></li>
<li><a href="#trunkToolsWinLauncherPageLoadTestClientcpp">trunk/Tools/WinLauncher/PageLoadTestClient.cpp</a></li>
<li><a href="#trunkToolsWinLauncherPageLoadTestClienth">trunk/Tools/WinLauncher/PageLoadTestClient.h</a></li>
<li><a href="#trunkToolsWinLauncherPrintWebUIDelegatecpp">trunk/Tools/WinLauncher/PrintWebUIDelegate.cpp</a></li>
<li><a href="#trunkToolsWinLauncherPrintWebUIDelegateh">trunk/Tools/WinLauncher/PrintWebUIDelegate.h</a></li>
<li><a href="#trunkToolsWinLauncherResourceLoadDelegatecpp">trunk/Tools/WinLauncher/ResourceLoadDelegate.cpp</a></li>
<li><a href="#trunkToolsWinLauncherResourceLoadDelegateh">trunk/Tools/WinLauncher/ResourceLoadDelegate.h</a></li>
<li><a href="#trunkToolsWinLauncherWebDownloadDelegatecpp">trunk/Tools/WinLauncher/WebDownloadDelegate.cpp</a></li>
<li><a href="#trunkToolsWinLauncherWebDownloadDelegateh">trunk/Tools/WinLauncher/WebDownloadDelegate.h</a></li>
<li><a href="#trunkToolsWinLauncherWinLauncherWebHostcpp">trunk/Tools/WinLauncher/WinLauncherWebHost.cpp</a></li>
<li><a href="#trunkToolsWinLauncherWinLauncherWebHosth">trunk/Tools/WinLauncher/WinLauncherWebHost.h</a></li>
<li><a href="#trunkToolsWinLauncherWinMaincpp">trunk/Tools/WinLauncher/WinMain.cpp</a></li>
<li><a href="#trunkToolswinDLLLauncherDLLLauncherMaincpp">trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/ChangeLog        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2015-08-20  Brent Fulgham  &lt;bfulgham@apple.com&gt;
+
+        [Win] Update Windows tools for revised MIDL interfaces
+        https://bugs.webkit.org/show_bug.cgi?id=148249
+
+        Reviewed by Dean Jackson.
+
+        This is a follow-up to Bug 148001.
+
+        Revise the testing software to use compatible signatures and
+        implementations to match the requirements of the IDL generated
+        with the SAL annotations.
+
+        * DumpRenderTree/win/DRTDataObject.cpp:
+        * DumpRenderTree/win/DRTDataObject.h:
+        * DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
+        * DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
+        * DumpRenderTree/win/DRTDropSource.cpp:
+        * DumpRenderTree/win/DRTDropSource.h:
+        * DumpRenderTree/win/DumpRenderTree.cpp:
+        * DumpRenderTree/win/EditingDelegate.cpp:
+        * DumpRenderTree/win/EditingDelegate.h:
+        * DumpRenderTree/win/FrameLoadDelegate.cpp:
+        * DumpRenderTree/win/FrameLoadDelegate.h:
+        * DumpRenderTree/win/HistoryDelegate.cpp:
+        * DumpRenderTree/win/HistoryDelegate.h:
+        * DumpRenderTree/win/PolicyDelegate.cpp:
+        * DumpRenderTree/win/PolicyDelegate.h:
+        * DumpRenderTree/win/ResourceLoadDelegate.cpp:
+        * DumpRenderTree/win/ResourceLoadDelegate.h:
+        * DumpRenderTree/win/TestRunnerWin.cpp:
+        * DumpRenderTree/win/UIDelegate.cpp:
+        * DumpRenderTree/win/UIDelegate.h:
+        * WinLauncher/AccessibilityDelegate.cpp:
+        * WinLauncher/AccessibilityDelegate.h:
+        * WinLauncher/Common.cpp:
+        * WinLauncher/DOMDefaultImpl.cpp:
+        * WinLauncher/DOMDefaultImpl.h:
+        * WinLauncher/PageLoadTestClient.cpp:
+        * WinLauncher/PageLoadTestClient.h:
+        * WinLauncher/PrintWebUIDelegate.cpp:
+        * WinLauncher/PrintWebUIDelegate.h:
+        * WinLauncher/ResourceLoadDelegate.cpp:
+        * WinLauncher/ResourceLoadDelegate.h:
+        * WinLauncher/WebDownloadDelegate.cpp:
+        * WinLauncher/WebDownloadDelegate.h:
+        * WinLauncher/WinLauncherWebHost.cpp:
+        * WinLauncher/WinLauncherWebHost.h:
+        * WinLauncher/WinMain.cpp:
+        * win/DLLLauncher/DLLLauncherMain.cpp:
+
</ins><span class="cx"> 2015-08-20  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, shorten a test that runs too long and times out.
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinDRTDataObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/DRTDataObject.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/DRTDataObject.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/DRTDataObject.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</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">  * Copyright (C) 2012 Baidu Inc.  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">@@ -53,40 +53,38 @@
</span><span class="cx">     explicit WCEnumFormatEtc(const Vector&lt;std::unique_ptr&lt;FORMATETC&gt;&gt;&amp; formats);
</span><span class="cx"> 
</span><span class="cx">     // IUnknown members
</span><del>-    STDMETHOD(QueryInterface)(REFIID, void**);
</del><ins>+    STDMETHOD(QueryInterface)(_In_ REFIID, _COM_Outptr_ void**);
</ins><span class="cx">     STDMETHOD_(ULONG, AddRef)();
</span><span class="cx">     STDMETHOD_(ULONG, Release)();
</span><span class="cx"> 
</span><span class="cx">     // IEnumFORMATETC members
</span><del>-    STDMETHOD(Next)(ULONG, LPFORMATETC, ULONG*);
</del><ins>+    STDMETHOD(Next)(ULONG celt, _Out_writes_to_(celt, *pceltFetched) LPFORMATETC, _Out_opt_ ULONG* pceltFetched);
</ins><span class="cx">     STDMETHOD(Skip)(ULONG);
</span><span class="cx">     STDMETHOD(Reset)();
</span><del>-    STDMETHOD(Clone)(IEnumFORMATETC**);
</del><ins>+    STDMETHOD(Clone)(_COM_Outptr_opt_ IEnumFORMATETC**);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    long m_ref;
</del><span class="cx">     Vector&lt;FORMATETC&gt; m_formats;
</span><del>-    size_t m_current;
</del><ins>+    long m_ref { 1 };
+    size_t m_current { 0 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WCEnumFormatEtc::WCEnumFormatEtc(const Vector&lt;FORMATETC&gt;&amp; formats)
</span><del>-    : m_ref(1)
-    , m_current(0)
-    , m_formats(formats)
</del><ins>+    : m_formats(formats)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WCEnumFormatEtc::WCEnumFormatEtc(const Vector&lt;std::unique_ptr&lt;FORMATETC&gt;&gt;&amp; formats)
</span><del>-    : m_ref(1)
-    , m_current(0)
</del><span class="cx"> {
</span><span class="cx">     for (auto&amp; format : formats)
</span><span class="cx">         m_formats.append(*format);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP WCEnumFormatEtc::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+STDMETHODIMP WCEnumFormatEtc::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) || IsEqualIID(riid, IID_IEnumFORMATETC)) {
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">         AddRef();
</span><span class="lines">@@ -109,7 +107,7 @@
</span><span class="cx">     return refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP WCEnumFormatEtc::Next(ULONG celt, LPFORMATETC lpFormatEtc, ULONG* pceltFetched)
</del><ins>+STDMETHODIMP WCEnumFormatEtc::Next(ULONG celt, _Out_writes_to_(celt, *pceltFetched) LPFORMATETC lpFormatEtc, _Out_opt_ ULONG* pceltFetched)
</ins><span class="cx"> {
</span><span class="cx">     if (pceltFetched)
</span><span class="cx">         *pceltFetched = 0;
</span><span class="lines">@@ -146,7 +144,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP WCEnumFormatEtc::Clone(IEnumFORMATETC** ppCloneEnumFormatEtc)
</del><ins>+STDMETHODIMP WCEnumFormatEtc::Clone(_COM_Outptr_opt_ IEnumFORMATETC** ppCloneEnumFormatEtc)
</ins><span class="cx"> {
</span><span class="cx">     if (!ppCloneEnumFormatEtc)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -171,13 +169,14 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> DRTDataObject::DRTDataObject()
</span><del>-    : m_ref(1)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDataObject::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+STDMETHODIMP DRTDataObject::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) || IsEqualIID(riid, IID_IDataObject))
</span><span class="cx">         *ppvObject = this;
</span><span class="cx"> 
</span><span class="lines">@@ -201,11 +200,11 @@
</span><span class="cx">     return refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDataObject::GetData(FORMATETC* pformatetcIn, STGMEDIUM* pmedium)
</del><ins>+STDMETHODIMP DRTDataObject::GetData(_In_ FORMATETC* pformatetcIn, _Out_ STGMEDIUM* pmedium)
</ins><span class="cx"> { 
</span><span class="cx">     if (!pformatetcIn || !pmedium)
</span><span class="cx">         return E_POINTER;
</span><del>-    pmedium-&gt;hGlobal = 0;
</del><ins>+    pmedium-&gt;hGlobal = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     for (size_t i = 0; i &lt; m_formats.size(); ++i) {
</span><span class="cx">         if (pformatetcIn-&gt;lindex == m_formats[i]-&gt;lindex &amp;&amp; pformatetcIn-&gt;dwAspect == m_formats[i]-&gt;dwAspect &amp;&amp; pformatetcIn-&gt;cfFormat == m_formats[i]-&gt;cfFormat) {
</span><span class="lines">@@ -216,12 +215,12 @@
</span><span class="cx">     return DV_E_FORMATETC;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDataObject::GetDataHere(FORMATETC*, STGMEDIUM*)
</del><ins>+STDMETHODIMP DRTDataObject::GetDataHere(_In_ FORMATETC*, _Inout_ STGMEDIUM*)
</ins><span class="cx"> { 
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDataObject::QueryGetData(FORMATETC* pformatetc)
</del><ins>+STDMETHODIMP DRTDataObject::QueryGetData(_In_opt_ FORMATETC* pformatetc)
</ins><span class="cx"> { 
</span><span class="cx">     if (!pformatetc)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -238,12 +237,14 @@
</span><span class="cx">     return DV_E_TYMED;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDataObject::GetCanonicalFormatEtc(FORMATETC*, FORMATETC*)
</del><ins>+STDMETHODIMP DRTDataObject::GetCanonicalFormatEtc(_In_opt_ FORMATETC*, _Out_ FORMATETC* formatOut)
</ins><span class="cx"> { 
</span><ins>+    if (!formatOut)
+        return E_POINTER;
</ins><span class="cx">     return DATA_S_SAMEFORMATETC;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDataObject::SetData(FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease)
</del><ins>+STDMETHODIMP DRTDataObject::SetData(_In_ FORMATETC* pformatetc, _In_ STGMEDIUM* pmedium, BOOL fRelease)
</ins><span class="cx"> { 
</span><span class="cx">     if (!pformatetc || !pmedium)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -296,18 +297,18 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     pMedDest-&gt;tymed = pMedSrc-&gt;tymed;
</span><del>-    pMedDest-&gt;pUnkForRelease = 0;
</del><ins>+    pMedDest-&gt;pUnkForRelease = nullptr;
</ins><span class="cx">     if (pMedSrc-&gt;pUnkForRelease) {
</span><span class="cx">         pMedDest-&gt;pUnkForRelease = pMedSrc-&gt;pUnkForRelease;
</span><span class="cx">         pMedSrc-&gt;pUnkForRelease-&gt;AddRef();
</span><span class="cx">     }
</span><span class="cx"> }
</span><del>-STDMETHODIMP DRTDataObject::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC** ppenumFormatEtc)
</del><ins>+STDMETHODIMP DRTDataObject::EnumFormatEtc(DWORD dwDirection, _COM_Outptr_opt_ IEnumFORMATETC** ppenumFormatEtc)
</ins><span class="cx"> { 
</span><span class="cx">     if (!ppenumFormatEtc)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><del>-    *ppenumFormatEtc = 0;
</del><ins>+    *ppenumFormatEtc = nullptr;
</ins><span class="cx">     switch (dwDirection) {
</span><span class="cx">     case DATADIR_GET:
</span><span class="cx">         *ppenumFormatEtc = new WCEnumFormatEtc(m_formats);
</span><span class="lines">@@ -324,7 +325,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDataObject::DAdvise(FORMATETC*, DWORD, IAdviseSink*, DWORD*)
</del><ins>+STDMETHODIMP DRTDataObject::DAdvise(_In_ FORMATETC*, DWORD, _Inout_ IAdviseSink*, _Out_ DWORD*)
</ins><span class="cx"> { 
</span><span class="cx">     return OLE_E_ADVISENOTSUPPORTED;
</span><span class="cx"> }
</span><span class="lines">@@ -334,8 +335,11 @@
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE DRTDataObject::EnumDAdvise(IEnumSTATDATA**)
</del><ins>+HRESULT DRTDataObject::EnumDAdvise(_COM_Outptr_opt_ IEnumSTATDATA** dadvise)
</ins><span class="cx"> {
</span><ins>+    if (!dadvise)
+        return E_POINTER;
+    *dadvise = nullptr;
</ins><span class="cx">     return OLE_E_ADVISENOTSUPPORTED;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinDRTDataObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/DRTDataObject.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/DRTDataObject.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/DRTDataObject.h        2015-08-20 22:11:17 UTC (rev 188709)
</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">  * Copyright (C) 2012 Baidu Inc.  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">@@ -49,27 +49,27 @@
</span><span class="cx">     void CopyMedium(STGMEDIUM* pMedDest, STGMEDIUM* pMedSrc, FORMATETC* pFmtSrc);
</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">     // IDataObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE GetData(FORMATETC* pformatIn, STGMEDIUM* pmedium);
-    virtual HRESULT STDMETHODCALLTYPE GetDataHere(FORMATETC* pformat, STGMEDIUM* pmedium);
-    virtual HRESULT STDMETHODCALLTYPE QueryGetData(FORMATETC* pformat);
-    virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(FORMATETC* pformatectIn, FORMATETC* pformatOut);
-    virtual HRESULT STDMETHODCALLTYPE SetData(FORMATETC* pformat, STGMEDIUM*pmedium, BOOL release);
-    virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC** ppenumFormatEtc);
-    virtual HRESULT STDMETHODCALLTYPE DAdvise(FORMATETC*, DWORD, IAdviseSink*, DWORD*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE GetData(_In_ FORMATETC*, _Out_ STGMEDIUM*);
+    virtual HRESULT STDMETHODCALLTYPE GetDataHere(_In_ FORMATETC*, _Inout_ STGMEDIUM*);
+    virtual HRESULT STDMETHODCALLTYPE QueryGetData(_In_opt_ FORMATETC*);
+    virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(_In_opt_ FORMATETC*, _Out_ FORMATETC*);
+    virtual HRESULT STDMETHODCALLTYPE SetData(_In_ FORMATETC*, _In_ STGMEDIUM*, BOOL release);
+    virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(DWORD dwDirection, _COM_Outptr_opt_ IEnumFORMATETC**);
+    virtual HRESULT STDMETHODCALLTYPE DAdvise(_In_ FORMATETC*, DWORD, _Inout_ IAdviseSink*, _Out_ DWORD*);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE DUnadvise(DWORD);
</span><del>-    virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(IEnumSTATDATA**);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(_COM_Outptr_opt_ IEnumSTATDATA**);
</ins><span class="cx"> 
</span><span class="cx">     void clearData(CLIPFORMAT);
</span><span class="cx">     
</span><span class="cx">     static HRESULT createInstance(DRTDataObject**);
</span><span class="cx"> private:
</span><span class="cx">     DRTDataObject();
</span><del>-    long m_ref;
</del><ins>+    long m_ref { 1 };
</ins><span class="cx">     Vector&lt;std::unique_ptr&lt;FORMATETC&gt;&gt; m_formats;
</span><span class="cx">     Vector&lt;std::unique_ptr&lt;STGMEDIUM, StgMediumDeleter&gt;&gt; m_medium;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinDRTDesktopNotificationPresentercpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2009 Google Inc. All rights reserved.
</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 are
</span><span class="lines">@@ -40,11 +40,14 @@
</span><span class="cx"> #include &lt;comutil.h&gt;
</span><span class="cx"> 
</span><span class="cx"> DRTDesktopNotificationPresenter::DRTDesktopNotificationPresenter()
</span><del>-    : m_refCount(1) {} 
</del><ins>+{
+} 
</ins><span class="cx"> 
</span><del>-HRESULT DRTDesktopNotificationPresenter::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT DRTDesktopNotificationPresenter::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;DRTDesktopNotificationPresenter*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebDesktopNotificationsDelegate))
</span><span class="lines">@@ -70,7 +73,7 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DRTDesktopNotificationPresenter::showDesktopNotification(IWebDesktopNotification* notification)
</del><ins>+HRESULT DRTDesktopNotificationPresenter::showDesktopNotification(_In_opt_ IWebDesktopNotification* notification)
</ins><span class="cx"> {
</span><span class="cx">     _bstr_t title, text, url;
</span><span class="cx">     BOOL html;
</span><span class="lines">@@ -92,7 +95,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DRTDesktopNotificationPresenter::cancelDesktopNotification(IWebDesktopNotification* notification)
</del><ins>+HRESULT DRTDesktopNotificationPresenter::cancelDesktopNotification(_In_opt_ IWebDesktopNotification* notification)
</ins><span class="cx"> {
</span><span class="cx">     _bstr_t identifier;
</span><span class="cx">     BOOL html;
</span><span class="lines">@@ -108,15 +111,20 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DRTDesktopNotificationPresenter::notificationDestroyed(IWebDesktopNotification* /*notification*/)
</del><ins>+HRESULT DRTDesktopNotificationPresenter::notificationDestroyed(_In_opt_ IWebDesktopNotification* /*notification*/)
</ins><span class="cx"> {
</span><span class="cx">     // Since in these tests events happen immediately, we don't hold on to
</span><span class="cx">     // Notification pointers.  So there's no cleanup to do.
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DRTDesktopNotificationPresenter::checkNotificationPermission(BSTR /*origin*/, int* /*result*/)
</del><ins>+HRESULT DRTDesktopNotificationPresenter::checkNotificationPermission(_In_ BSTR /*origin*/, _Out_ int* result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+
+    *result = 0;
+
</ins><span class="cx"> #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
</span><span class="cx">     JSStringRef jsOrigin = JSStringCreateWithBSTR(origin);
</span><span class="cx">     bool allowed = ::gTestRunner-&gt;checkDesktopNotificationPermission(jsOrigin);
</span><span class="lines">@@ -131,7 +139,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT DRTDesktopNotificationPresenter::requestNotificationPermission(BSTR origin)
</del><ins>+HRESULT DRTDesktopNotificationPresenter::requestNotificationPermission(_In_ BSTR origin)
</ins><span class="cx"> {
</span><span class="cx">     printf(&quot;DESKTOP NOTIFICATION PERMISSION REQUESTED: %S\n&quot;, origin ? origin : L&quot;&quot;);
</span><span class="cx">     return S_OK;
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinDRTDesktopNotificationPresenterh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/DRTDesktopNotificationPresenter.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2005, 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2005-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,29 +37,19 @@
</span><span class="cx">     DRTDesktopNotificationPresenter();
</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">     // IWebDesktopNotificationsDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE showDesktopNotification(
-        /* [in] */ IWebDesktopNotification* notification);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE showDesktopNotification(_In_opt_ IWebDesktopNotification*);
+    virtual HRESULT STDMETHODCALLTYPE cancelDesktopNotification(_In_opt_ IWebDesktopNotification*);
+    virtual HRESULT STDMETHODCALLTYPE notificationDestroyed(_In_opt_ IWebDesktopNotification*);
+    virtual HRESULT STDMETHODCALLTYPE checkNotificationPermission(_In_ BSTR origin, _Out_ int* result);
+    virtual HRESULT STDMETHODCALLTYPE requestNotificationPermission(_In_ BSTR origin);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE cancelDesktopNotification(
-        /* [in] */ IWebDesktopNotification* notification);
-
-    virtual HRESULT STDMETHODCALLTYPE notificationDestroyed(
-        /* [in] */ IWebDesktopNotification* notification);
-
-    virtual HRESULT STDMETHODCALLTYPE checkNotificationPermission(
-        /* [in] */ BSTR origin, 
-        /* [out, retval] */ int* result);
-
-    virtual HRESULT STDMETHODCALLTYPE requestNotificationPermission(
-        /* [in] */ BSTR origin);
-
</del><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinDRTDropSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/DRTDropSource.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/DRTDropSource.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/DRTDropSource.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,4 +1,5 @@
</span><span class="cx"> /*
</span><ins>+* Copyright (C) 2015 Apple Inc.  All rights reserved.
</ins><span class="cx"> * Copyright (C) 2012 Baidu Inc. 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">@@ -27,8 +28,6 @@
</span><span class="cx"> #include &quot;DRTDropSource.h&quot;
</span><span class="cx"> 
</span><span class="cx"> DRTDropSource::DRTDropSource()
</span><del>-    : m_ref(1)
-    , m_dropped(false)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -36,9 +35,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDropSource::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+STDMETHODIMP DRTDropSource::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) || IsEqualIID(riid, IID_IDropSource)) {
</span><span class="cx">         *ppvObject = this;
</span><span class="cx">         AddRef();
</span><span class="lines">@@ -70,7 +71,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
</del><ins>+STDMETHODIMP DRTDropSource::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">@@ -80,7 +81,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-STDMETHODIMP DRTDropSource::GiveFeedback(DWORD dwEffect)
</del><ins>+STDMETHODIMP DRTDropSource::GiveFeedback(_In_ DWORD dwEffect)
</ins><span class="cx"> {
</span><span class="cx">     return DRAGDROP_S_USEDEFAULTCURSORS;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinDRTDropSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/DRTDropSource.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/DRTDropSource.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/DRTDropSource.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,4 +1,5 @@
</span><span class="cx"> /*
</span><ins>+* Copyright (C) 2015 Apple Inc.  All rights reserved.
</ins><span class="cx"> * Copyright (C) 2012 Baidu Inc. 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">@@ -31,18 +32,18 @@
</span><span class="cx"> 
</span><span class="cx"> class DRTDropSource : public IDropSource {
</span><span class="cx"> public:
</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><del>-    virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState);
-    virtual HRESULT STDMETHODCALLTYPE GiveFeedback(DWORD dwEffect);
</del><ins>+    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(IDropSource** result);
</span><span class="cx"> private:
</span><span class="cx">     DRTDropSource();
</span><span class="cx">     ~DRTDropSource();
</span><del>-    long m_ref;
-    bool m_dropped;
</del><ins>+    long m_ref { 1 };
+    bool m_dropped { false };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // DRTDropSource_h
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinDumpRenderTreecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1439,7 +1439,7 @@
</span><span class="cx">     prepareConsistentTestingEnvironment(standardPreferences.get(), standardPreferencesPrivate.get());
</span><span class="cx"> 
</span><span class="cx">     if (printSupportedFeatures) {
</span><del>-        BOOL acceleratedCompositingAvailable;
</del><ins>+        BOOL acceleratedCompositingAvailable = FALSE;
</ins><span class="cx">         standardPreferences-&gt;acceleratedCompositingEnabled(&amp;acceleratedCompositingAvailable);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(3D_TRANSFORMS)
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinEditingDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/EditingDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/EditingDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/EditingDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -42,15 +42,15 @@
</span><span class="cx"> using std::wstring;
</span><span class="cx"> 
</span><span class="cx"> EditingDelegate::EditingDelegate()
</span><del>-    : m_refCount(1)
-    , m_acceptsEditing(true)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown
</span><del>-HRESULT EditingDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT EditingDelegate::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;IWebEditingDelegate2*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebEditingDelegate))
</span><span class="lines">@@ -66,12 +66,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG EditingDelegate::AddRef(void)
</del><ins>+ULONG EditingDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG EditingDelegate::Release(void)
</del><ins>+ULONG EditingDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">     return buffer;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::shouldBeginEditingInDOMRange(IWebView* /*webView*/, IDOMRange* range, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldBeginEditingInDOMRange(_In_opt_ IWebView*, _In_opt_ IDOMRange* range, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::shouldEndEditingInDOMRange(IWebView* /*webView*/, IDOMRange* range, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldEndEditingInDOMRange(_In_opt_ IWebView*, _In_opt_ IDOMRange* range, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -153,14 +153,14 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebEditingDelegate
</span><del>-HRESULT EditingDelegate::shouldInsertNode(IWebView* webView, IDOMNode* node, IDOMRange* range, WebViewInsertAction action)
</del><ins>+HRESULT EditingDelegate::shouldInsertNode(_In_opt_ IWebView* webView, _In_opt_ IDOMNode* node, _In_opt_ IDOMRange* range, WebViewInsertAction action)
</ins><span class="cx"> {
</span><span class="cx">     BOOL ignore;
</span><span class="cx">     return shouldInsertNode(webView, node, range, action, &amp;ignore);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebEditingDelegate2
</span><del>-HRESULT EditingDelegate::shouldInsertNode(IWebView* /*webView*/, IDOMNode* node, IDOMRange* range, WebViewInsertAction action, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldInsertNode(_In_opt_ IWebView* /*webView*/, _In_opt_ IDOMNode* node, _In_opt_ IDOMRange* range, WebViewInsertAction action, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     static const char* insertActionString[] = {
</span><span class="cx">         &quot;WebViewInsertActionTyped&quot;,
</span><span class="lines">@@ -168,6 +168,9 @@
</span><span class="cx">         &quot;WebViewInsertActionDropped&quot;,
</span><span class="cx">     };
</span><span class="cx"> 
</span><ins>+    if (!result)
+        return E_POINTER;
+
</ins><span class="cx">     if (::gTestRunner-&gt;dumpEditingCallbacks() &amp;&amp; !done)
</span><span class="cx">         printf(&quot;EDITING DELEGATE: shouldInsertNode:%s replacingDOMRange:%s givenAction:%s\n&quot;, dumpPath(node).c_str(), dump(range).c_str(), insertActionString[action]);
</span><span class="cx"> 
</span><span class="lines">@@ -175,7 +178,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::shouldInsertText(IWebView* /*webView*/, BSTR text, IDOMRange* range, WebViewInsertAction action, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldInsertText(_In_opt_ IWebView* /*webView*/, _In_ BSTR text, _In_opt_ IDOMRange* range, WebViewInsertAction action, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -197,7 +200,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::shouldDeleteDOMRange(IWebView* /*webView*/, IDOMRange* range, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldDeleteDOMRange(_In_opt_ IWebView* /*webView*/, _In_opt_ IDOMRange* range, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -211,8 +214,8 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::shouldChangeSelectedDOMRange(IWebView* /*webView*/, IDOMRange* currentRange, IDOMRange* proposedRange,
-    WebSelectionAffinity selectionAffinity, BOOL stillSelecting, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldChangeSelectedDOMRange(_In_opt_ IWebView* /*webView*/, _In_opt_ IDOMRange* currentRange, _In_opt_ IDOMRange* proposedRange,
+    WebSelectionAffinity selectionAffinity, BOOL stillSelecting, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -235,7 +238,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::shouldApplyStyle(IWebView* /*webView*/, IDOMCSSStyleDeclaration* style, IDOMRange* range, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldApplyStyle(_In_opt_ IWebView* /*webView*/, _In_opt_ IDOMCSSStyleDeclaration* style, _In_opt_ IDOMRange* range, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -249,7 +252,8 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::shouldChangeTypingStyle(IWebView* /*webView*/, IDOMCSSStyleDeclaration* currentStyle, IDOMCSSStyleDeclaration* proposedStyle, BOOL* result)
</del><ins>+HRESULT EditingDelegate::shouldChangeTypingStyle(_In_opt_ IWebView* /*webView*/, _In_opt_ IDOMCSSStyleDeclaration* currentStyle,
+    _In_opt_ IDOMCSSStyleDeclaration* proposedStyle, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -263,7 +267,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::doPlatformCommand(IWebView* /*webView*/, BSTR command, BOOL* result)
</del><ins>+HRESULT EditingDelegate::doPlatformCommand(_In_opt_ IWebView* /*webView*/, _In_ BSTR command, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -279,8 +283,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::webViewDidBeginEditing(IWebNotification* notification)
</del><ins>+HRESULT EditingDelegate::webViewDidBeginEditing(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><ins>+    if (!notification)
+        return S_OK;
+
</ins><span class="cx">     if (::gTestRunner-&gt;dumpEditingCallbacks() &amp;&amp; !done) {
</span><span class="cx">         _bstr_t name;
</span><span class="cx">         notification-&gt;name(&amp;name.GetBSTR());
</span><span class="lines">@@ -289,8 +296,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::webViewDidChange(IWebNotification* notification)
</del><ins>+HRESULT EditingDelegate::webViewDidChange(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><ins>+    if (!notification)
+        return S_OK;
+
</ins><span class="cx">     if (::gTestRunner-&gt;dumpEditingCallbacks() &amp;&amp; !done) {
</span><span class="cx">         _bstr_t name;
</span><span class="cx">         notification-&gt;name(&amp;name.GetBSTR());
</span><span class="lines">@@ -299,8 +309,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::webViewDidEndEditing(IWebNotification* notification)
</del><ins>+HRESULT EditingDelegate::webViewDidEndEditing(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><ins>+    if (!notification)
+        return S_OK;
+
</ins><span class="cx">     if (::gTestRunner-&gt;dumpEditingCallbacks() &amp;&amp; !done) {
</span><span class="cx">         _bstr_t name;
</span><span class="cx">         notification-&gt;name(&amp;name.GetBSTR());
</span><span class="lines">@@ -309,8 +322,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::webViewDidChangeTypingStyle(IWebNotification* notification)
</del><ins>+HRESULT EditingDelegate::webViewDidChangeTypingStyle(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><ins>+    if (!notification)
+        return S_OK;
+
</ins><span class="cx">     if (::gTestRunner-&gt;dumpEditingCallbacks() &amp;&amp; !done) {
</span><span class="cx">         _bstr_t name;
</span><span class="cx">         notification-&gt;name(&amp;name.GetBSTR());
</span><span class="lines">@@ -319,8 +335,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::webViewDidChangeSelection(IWebNotification* notification)
</del><ins>+HRESULT EditingDelegate::webViewDidChangeSelection(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><ins>+    if (!notification)
+        return S_OK;
+
</ins><span class="cx">     if (::gTestRunner-&gt;dumpEditingCallbacks() &amp;&amp; !done) {
</span><span class="cx">         _bstr_t name;
</span><span class="cx">         notification-&gt;name(&amp;name.GetBSTR());
</span><span class="lines">@@ -329,6 +348,14 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+HRESULT EditingDelegate::undoManagerForWebView(_In_opt_ IWebView*, _COM_Outptr_opt_ IWebUndoManager** undoManager)
+{
+    if (!undoManager)
+        return E_POINTER;
+    *undoManager = nullptr;
+    return E_NOTIMPL;
+}
+
</ins><span class="cx"> static int indexOfFirstWordCharacter(const TCHAR* text)
</span><span class="cx"> {
</span><span class="cx">     const TCHAR* cursor = text;
</span><span class="lines">@@ -345,12 +372,8 @@
</span><span class="cx">     return cursor - text;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::checkSpellingOfString(
-            /* [in] */ IWebView* view,
-            /* [in] */ LPCTSTR text,
-            /* [in] */ int length,
-            /* [out] */ int* misspellingLocation,
-            /* [out] */ int* misspellingLength)
</del><ins>+HRESULT EditingDelegate::checkSpellingOfString(_In_opt_ IWebView* view, _In_ LPCTSTR text,
+    int length, _Out_ int* misspellingLocation, _Out_ int* misspellingLength)
</ins><span class="cx"> {
</span><span class="cx">     static const TCHAR* misspelledWords[] = {
</span><span class="cx">         // These words are known misspelled words in webkit tests.
</span><span class="lines">@@ -382,10 +405,17 @@
</span><span class="cx">         0,
</span><span class="cx">     };
</span><span class="cx"> 
</span><ins>+    if (!misspellingLocation || !misspellingLength)
+        return E_POINTER;
+
+    *misspellingLocation = 0;
+    *misspellingLength = 0;
+
</ins><span class="cx">     wstring textString(text, length);
</span><span class="cx">     int wordStart = indexOfFirstWordCharacter(textString.c_str());
</span><span class="cx">     if (-1 == wordStart)
</span><span class="cx">         return S_OK;
</span><ins>+
</ins><span class="cx">     wstring word = textString.substr(wordStart, wordLength(textString.c_str() + wordStart));
</span><span class="cx">     for (size_t i = 0; misspelledWords[i]; ++i) {
</span><span class="cx">         if (word == misspelledWords[i]) {
</span><span class="lines">@@ -398,8 +428,26 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT EditingDelegate::onNotify(IWebNotification* notification)
</del><ins>+HRESULT EditingDelegate::checkGrammarOfString(_In_opt_ IWebView*, _In_ LPCTSTR text, int length, _COM_Outptr_opt_ IEnumWebGrammarDetails** details,
+    _Out_ int* badGrammarLocation, _Out_ int* badGrammarLength)
</ins><span class="cx"> {
</span><ins>+    if (!details)
+        return E_POINTER;
+    *details = nullptr;
+    return E_NOTIMPL;
+}
+
+HRESULT EditingDelegate::guessesForWord(_In_ BSTR word, _COM_Outptr_opt_ IEnumSpellingGuesses** guesses)
+{
+    if (!guesses)
+        return E_POINTER;
+    *guesses = nullptr;
+    return E_NOTIMPL;
+}
+
+
+HRESULT EditingDelegate::onNotify(_In_opt_ IWebNotification* notification)
+{
</ins><span class="cx">     _bstr_t notificationName;
</span><span class="cx">     HRESULT hr = notification-&gt;name(&amp;notificationName.GetBSTR());
</span><span class="cx">     if (FAILED(hr))
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinEditingDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/EditingDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/EditingDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/EditingDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</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,141 +38,57 @@
</span><span class="cx">     void setAcceptsEditing(bool b) { m_acceptsEditing = b; }
</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">     // IWebEditingDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE shouldBeginEditingInDOMRange( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IDOMRange *range,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldEndEditingInDOMRange( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IDOMRange *range,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldInsertNode(IWebView*, IDOMNode*, IDOMRange*, WebViewInsertAction);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldInsertText( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR text,
-        /* [in] */ IDOMRange *range,
-        /* [in] */ WebViewInsertAction action,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldDeleteDOMRange( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IDOMRange *range,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldChangeSelectedDOMRange( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IDOMRange *currentRange,
-        /* [in] */ IDOMRange *proposedRange,
-        /* [in] */ WebSelectionAffinity selectionAffinity,
-        /* [in] */ BOOL stillSelecting,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldApplyStyle( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IDOMCSSStyleDeclaration *style,
-        /* [in] */ IDOMRange *range,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE shouldChangeTypingStyle( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IDOMCSSStyleDeclaration *currentStyle,
-        /* [in] */ IDOMCSSStyleDeclaration *proposedStyle,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE doPlatformCommand( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR command,
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewDidBeginEditing( 
-        /* [in] */ IWebNotification *notification);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewDidChange( 
-        /* [in] */ IWebNotification *notification);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewDidEndEditing( 
-        /* [in] */ IWebNotification *notification);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewDidChangeTypingStyle( 
-        /* [in] */ IWebNotification *notification);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewDidChangeSelection( 
-        /* [in] */ IWebNotification *notification);
-    
-    virtual HRESULT STDMETHODCALLTYPE undoManagerForWebView( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ IWebUndoManager **undoManager) { return E_NOTIMPL; }
-
-        virtual HRESULT STDMETHODCALLTYPE ignoreWordInSpellDocument( 
-            /* [in] */ IWebView *view,
-            /* [in] */ BSTR word) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE shouldBeginEditingInDOMRange(_In_opt_ IWebView*, _In_opt_ IDOMRange*, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE shouldEndEditingInDOMRange(_In_opt_ IWebView*, _In_opt_ IDOMRange*, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE shouldInsertNode(_In_opt_ IWebView*, _In_opt_ IDOMNode*, _In_opt_ IDOMRange*, WebViewInsertAction);
+    virtual HRESULT STDMETHODCALLTYPE shouldInsertText(_In_opt_ IWebView*, _In_ BSTR text, _In_opt_ IDOMRange*, WebViewInsertAction, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE shouldDeleteDOMRange(_In_opt_ IWebView*, _In_opt_ IDOMRange*, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE shouldChangeSelectedDOMRange(_In_opt_ IWebView*, _In_opt_ IDOMRange*, _In_opt_ IDOMRange*,
+        WebSelectionAffinity, BOOL stillSelecting, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE shouldApplyStyle(_In_opt_ IWebView*, _In_opt_ IDOMCSSStyleDeclaration*, _In_opt_ IDOMRange*, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE shouldChangeTypingStyle(_In_opt_ IWebView*, _In_opt_ IDOMCSSStyleDeclaration* currentStyle,
+        _In_opt_ IDOMCSSStyleDeclaration* proposedStyle, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE doPlatformCommand(_In_opt_ IWebView*, _In_ BSTR command, _Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE webViewDidBeginEditing(_In_opt_ IWebNotification*);
+    virtual HRESULT STDMETHODCALLTYPE webViewDidChange(_In_opt_ IWebNotification*);
+    virtual HRESULT STDMETHODCALLTYPE webViewDidEndEditing(_In_opt_ IWebNotification*);
+    virtual HRESULT STDMETHODCALLTYPE webViewDidChangeTypingStyle(_In_opt_ IWebNotification*);
+    virtual HRESULT STDMETHODCALLTYPE webViewDidChangeSelection(_In_opt_ IWebNotification*);    
+    virtual HRESULT STDMETHODCALLTYPE undoManagerForWebView(_In_opt_ IWebView*, _COM_Outptr_opt_ IWebUndoManager **);
+    virtual HRESULT STDMETHODCALLTYPE ignoreWordInSpellDocument(_In_opt_ IWebView*, _In_ BSTR word) { return E_NOTIMPL; }        
+    virtual HRESULT STDMETHODCALLTYPE learnWord(_In_ BSTR word) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE checkSpellingOfString(_In_opt_ IWebView*, _In_ LPCTSTR text, int length, _Out_ int* misspellingLocation, _Out_ int* misspellingLength);
+    virtual HRESULT STDMETHODCALLTYPE checkGrammarOfString(_In_opt_ IWebView*, _In_ LPCTSTR text, int length, _COM_Outptr_opt_ IEnumWebGrammarDetails**,
+        _Out_ int* badGrammarLocation, _Out_ int* badGrammarLength);       
+    virtual HRESULT STDMETHODCALLTYPE updateSpellingUIWithGrammarString(_In_ BSTR string, int location, int length, _In_ BSTR userDescription,
+        _In_opt_ BSTR* guesses, int guessesCount)
+    {
+        return E_NOTIMPL;
+    }
</ins><span class="cx">         
</span><del>-        virtual HRESULT STDMETHODCALLTYPE learnWord( 
-            /* [in] */ BSTR word) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE checkSpellingOfString( 
-            /* [in] */ IWebView *view,
-            /* [in] */ LPCTSTR text,
-            /* [in] */ int length,
-            /* [out] */ int *misspellingLocation,
-            /* [out] */ int *misspellingLength);
-        
-        virtual HRESULT STDMETHODCALLTYPE checkGrammarOfString( 
-            /* [in] */ IWebView *view,
-            /* [in] */ LPCTSTR text,
-            /* [in] */ int length,
-            /* [out] */ IEnumWebGrammarDetails **grammarDetails,
-            /* [out] */ int *badGrammarLocation,
-            /* [out] */ int *badGrammarLength) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE updateSpellingUIWithGrammarString( 
-            /* [in] */ BSTR string,
-            /* [in] */ int location,
-            /* [in] */ int length,
-            /* [in] */ BSTR userDescription,
-            /* [in] */ BSTR *guesses,
-            /* [in] */ int guessesCount) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE updateSpellingUIWithMisspelledWord( 
-            /* [in] */ BSTR word) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE showSpellingUI( 
-            /* [in] */ BOOL show) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE spellingUIIsShowing( 
-            /* [retval][out] */ BOOL *result) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE guessesForWord( 
-            /* [in] */ BSTR word,
-            /* [retval][out] */ IEnumSpellingGuesses **guesses) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE closeSpellDocument( 
-            /* [in] */ IWebView *view) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE sharedSpellCheckerExists( 
-            /* [retval][out] */ BOOL *exists) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE preflightChosenSpellServer( void) { return E_NOTIMPL; }
-        
-        virtual HRESULT STDMETHODCALLTYPE updateGrammar( void) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE updateSpellingUIWithMisspelledWord(_In_ BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE showSpellingUI(BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE spellingUIIsShowing(_Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE guessesForWord(_In_ BSTR word, _COM_Outptr_opt_ IEnumSpellingGuesses** guesses);
+    virtual HRESULT STDMETHODCALLTYPE closeSpellDocument(_In_opt_ IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE sharedSpellCheckerExists(_Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE preflightChosenSpellServer() { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE updateGrammar() { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-        // IWebNotificationObserver
-        virtual HRESULT STDMETHODCALLTYPE onNotify(IWebNotification* notification);
</del><ins>+    // IWebNotificationObserver
+    virtual HRESULT STDMETHODCALLTYPE onNotify(_In_opt_ IWebNotification*);
</ins><span class="cx"> 
</span><del>-        // IWebEditingDelegate2
-        virtual HRESULT STDMETHODCALLTYPE shouldInsertNode(IWebView*, IDOMNode*, IDOMRange*, WebViewInsertAction, BOOL* result);
</del><ins>+    // IWebEditingDelegate2
+    virtual HRESULT STDMETHODCALLTYPE shouldInsertNode(_In_opt_ IWebView*, _In_opt_ IDOMNode*, _In_opt_ IDOMRange*, WebViewInsertAction, _Out_ BOOL* result);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    bool m_acceptsEditing;
-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 1 };
+    bool m_acceptsEditing { true };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // !defined(EditingDelegate_h)
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinFrameLoadDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2005, 2006, 2007, 2009, 2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2005-2007, 2009, 2014-2015 Apple Inc. All rights reserved.
</ins><span class="cx">  * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. 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">@@ -74,8 +74,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> FrameLoadDelegate::FrameLoadDelegate()
</span><del>-    : m_refCount(1)
-    , m_gcController(std::make_unique&lt;GCController&gt;())
</del><ins>+    : m_gcController(std::make_unique&lt;GCController&gt;())
</ins><span class="cx">     , m_accessibilityController(std::make_unique&lt;AccessibilityController&gt;())
</span><span class="cx">     , m_textInputController(std::make_unique&lt;TextInputController&gt;())
</span><span class="cx"> {
</span><span class="lines">@@ -85,9 +84,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT FrameLoadDelegate::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;IWebFrameLoadDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebFrameLoadDelegate))
</span><span class="lines">@@ -105,12 +106,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG FrameLoadDelegate::AddRef(void)
</del><ins>+ULONG FrameLoadDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG FrameLoadDelegate::Release(void)
</del><ins>+ULONG FrameLoadDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -119,8 +120,7 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
-HRESULT FrameLoadDelegate::didStartProvisionalLoadForFrame(IWebView* /*webView*/, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didStartProvisionalLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didStartProvisionalLoadForFrame\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">     return S_OK; 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didReceiveServerRedirectForProvisionalLoadForFrame(IWebView* /*webView*/, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didReceiveServerRedirectForProvisionalLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*)
</ins><span class="cx"> { 
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didReceiveServerRedirectForProvisionalLoadForFrame\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didChangeLocationWithinPageForFrame(IWebView* , IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didChangeLocationWithinPageForFrame(_In_opt_ IWebView* , _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didChangeLocationWithinPageForFrame\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -149,7 +149,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didFailProvisionalLoadWithError(IWebView* /*webView*/, IWebError* error, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didFailProvisionalLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError* error, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didFailProvisionalLoadWithError\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -158,7 +158,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didCommitLoadForFrame(IWebView* webView, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didCommitLoadForFrame(_In_opt_ IWebView* webView, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didCommitLoadForFrame\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didReceiveTitle(IWebView* /*webView*/, BSTR title, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didReceiveTitle(_In_opt_ IWebView*, _In_ BSTR title, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didReceiveTitle: %S\n&quot;, descriptionSuitableForTestResult(frame).c_str(), title);
</span><span class="lines">@@ -182,9 +182,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didChangeIcons(
-    /* [in] */ IWebView* webView,
-    /* [in] */ IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didChangeIcons(_In_opt_ IWebView*, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpIconChanges())
</span><span class="cx">         printf(&quot;%s - didChangeIcons\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -252,7 +250,7 @@
</span><span class="cx">     dump();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didFinishLoadForFrame(IWebView* /*webView*/, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didFinishLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didFinishLoadForFrame\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -261,7 +259,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didFailLoadWithError(IWebView* /*webView*/, IWebError* error, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didFailLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError* error, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didFailLoadWithError\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -270,7 +268,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::willPerformClientRedirectToURL(IWebView* /*webView*/, BSTR url, double /*delaySeconds*/, DATE /*fireDate*/, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::willPerformClientRedirectToURL(_In_opt_ IWebView*, _In_ BSTR url, double /*delaySeconds*/, DATE /*fireDate*/, _In_opt_ IWebFrame*)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - willPerformClientRedirectToURL: %S \n&quot;, descriptionSuitableForTestResult(frame).c_str(),
</span><span class="lines">@@ -279,7 +277,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didCancelClientRedirectForFrame(IWebView* /*webView*/, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didCancelClientRedirectForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didCancelClientRedirectForFrame\n&quot;, descriptionSuitableForTestResult(frame).c_str());
</span><span class="lines">@@ -288,7 +286,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::willCloseFrame(IWebView* /*webView*/, IWebFrame* /*frame*/)
</del><ins>+HRESULT FrameLoadDelegate::willCloseFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="lines">@@ -308,7 +306,7 @@
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didClearWindowObjectForFrameInScriptWorld(IWebView* webView, IWebFrame* frame, IWebScriptWorld* world)
</del><ins>+HRESULT FrameLoadDelegate::didClearWindowObjectForFrameInScriptWorld(_In_opt_ IWebView* webView, _In_opt_ IWebFrame* frame, _In_opt_ IWebScriptWorld* world)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(webView, webView);
</span><span class="cx">     ASSERT_ARG(frame, frame);
</span><span class="lines">@@ -375,7 +373,7 @@
</span><span class="cx">     WebCoreTestSupport::injectInternalsObject(context);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didFinishDocumentLoadForFrame(IWebView* /*sender*/, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didFinishDocumentLoadForFrame(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didFinishDocumentLoadForFrame\n&quot;,
</span><span class="lines">@@ -397,7 +395,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didHandleOnloadEventsForFrame(IWebView* /*sender*/, IWebFrame* frame)
</del><ins>+HRESULT FrameLoadDelegate::didHandleOnloadEventsForFrame(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;%s - didHandleOnloadEventsForFrame\n&quot;,
</span><span class="lines">@@ -406,12 +404,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didFirstVisuallyNonEmptyLayoutInFrame(IWebView* /*sender*/, IWebFrame* /*frame*/)
</del><ins>+HRESULT FrameLoadDelegate::didFirstVisuallyNonEmptyLayoutInFrame(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebFrame* /*frame*/)
</ins><span class="cx"> {
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didDisplayInsecureContent(IWebView* /*sender*/)
</del><ins>+HRESULT FrameLoadDelegate::didDisplayInsecureContent(_In_opt_ IWebView* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;didDisplayInsecureContent\n&quot;);
</span><span class="lines">@@ -419,7 +417,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::didRunInsecureContent(IWebView* /*sender*/, IWebSecurityOrigin* /*origin*/)
</del><ins>+HRESULT FrameLoadDelegate::didRunInsecureContent(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebSecurityOrigin* /*origin*/)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpFrameLoadCallbacks())
</span><span class="cx">         printf(&quot;didRunInsecureContent\n&quot;);
</span><span class="lines">@@ -427,7 +425,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT FrameLoadDelegate::onNotify(IWebNotification* notification)
</del><ins>+HRESULT FrameLoadDelegate::onNotify(_In_opt_ IWebNotification* notification)
</ins><span class="cx"> {
</span><span class="cx">     _bstr_t notificationName;
</span><span class="cx">     HRESULT hr = notification-&gt;name(&amp;notificationName.GetBSTR());
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinFrameLoadDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/FrameLoadDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2005, 2006, 2007 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2005-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,111 +47,43 @@
</span><span class="cx">     AccessibilityController* accessibilityController() const { return m_accessibilityController.get(); }
</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">     // IWebFrameLoadDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didStartProvisionalLoadForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame); 
-
-    virtual HRESULT STDMETHODCALLTYPE didReceiveServerRedirectForProvisionalLoadForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE didFailProvisionalLoadWithError( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebError *error,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE didCommitLoadForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE didReceiveTitle( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR title,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE didChangeIcons(
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE didReceiveIcon(/* [in] */ IWebView*, /* [in] */ HBITMAP, /* [in] */ IWebFrame*) { return E_NOTIMPL; } 
-
-    virtual HRESULT STDMETHODCALLTYPE didFinishLoadForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE didFailLoadWithError( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebError *error,
-        /* [in] */ IWebFrame *forFrame);
-
-    virtual HRESULT STDMETHODCALLTYPE didChangeLocationWithinPageForFrame(IWebView*, IWebFrame*);
-
-    virtual HRESULT STDMETHODCALLTYPE willPerformClientRedirectToURL( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR url,
-        /* [in] */ double delaySeconds,
-        /* [in] */ DATE fireDate,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE didCancelClientRedirectForFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE willCloseFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE windowScriptObjectAvailable(IWebView*,
-JSContextRef, JSObjectRef windowObject);
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didStartProvisionalLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveServerRedirectForProvisionalLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didFailProvisionalLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didCommitLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveTitle(_In_opt_ IWebView*, _In_ BSTR title, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didChangeIcons(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveIcon(_In_opt_ IWebView*, _In_ HBITMAP, _In_opt_ IWebFrame*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE didFinishLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didFailLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didChangeLocationWithinPageForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE willPerformClientRedirectToURL(_In_opt_ IWebView*, _In_ BSTR url, double delaySeconds, DATE fireDate, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didCancelClientRedirectForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE willCloseFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE windowScriptObjectAvailable(IWebView*, JSContextRef, JSObjectRef windowObject);
</ins><span class="cx">     virtual /* [local] */ HRESULT STDMETHODCALLTYPE didClearWindowObject(IWebView*, JSContextRef, JSObjectRef windowObject, IWebFrame*);
</span><span class="cx"> 
</span><span class="cx">     // IWebFrameLoadDelegatePrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didFinishDocumentLoadForFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame);
-        
-    virtual HRESULT STDMETHODCALLTYPE didFirstLayoutInFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame) { return E_NOTIMPL; } 
-        
-    virtual HRESULT STDMETHODCALLTYPE didHandleOnloadEventsForFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didFinishDocumentLoadForFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*);      
+    virtual HRESULT STDMETHODCALLTYPE didFirstLayoutInFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE didHandleOnloadEventsForFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didFirstVisuallyNonEmptyLayoutInFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didFirstVisuallyNonEmptyLayoutInFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame);
-
</del><span class="cx">     // IWebFrameLoadDelegatePrivate2
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didDisplayInsecureContent( 
-        /* [in] */ IWebView *sender);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didDisplayInsecureContent(_In_opt_ IWebView*);
+    virtual HRESULT STDMETHODCALLTYPE didRunInsecureContent(_In_opt_ IWebView*, _In_opt_ IWebSecurityOrigin*);
+    virtual HRESULT STDMETHODCALLTYPE didClearWindowObjectForFrameInScriptWorld(_In_opt_ IWebView*, _In_opt_ IWebFrame*, _In_opt_ IWebScriptWorld*);
+    virtual HRESULT STDMETHODCALLTYPE didPushStateWithinPageForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return E_NOTIMPL; }    
+    virtual HRESULT STDMETHODCALLTYPE didReplaceStateWithinPageForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE didPopStateWithinPageForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didRunInsecureContent( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebSecurityOrigin *origin);
-
-    virtual HRESULT STDMETHODCALLTYPE didClearWindowObjectForFrameInScriptWorld(IWebView*, IWebFrame*, IWebScriptWorld*);
-
-    virtual HRESULT STDMETHODCALLTYPE didPushStateWithinPageForFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame) { return E_NOTIMPL; } 
-    
-    virtual HRESULT STDMETHODCALLTYPE didReplaceStateWithinPageForFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame) { return E_NOTIMPL; } 
-
-    virtual HRESULT STDMETHODCALLTYPE didPopStateWithinPageForFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame) { return E_NOTIMPL; } 
-
</del><span class="cx">     // IWebNotificationObserver
</span><del>-    virtual HRESULT STDMETHODCALLTYPE onNotify(IWebNotification*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE onNotify(_In_opt_ IWebNotification*);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void didClearWindowObjectForFrameInIsolatedWorld(IWebFrame*, IWebScriptWorld*);
</span><span class="lines">@@ -160,10 +92,10 @@
</span><span class="cx">     void locationChangeDone(IWebError*, IWebFrame*);
</span><span class="cx">     void webViewProgressFinishedNotification();
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><span class="cx">     std::unique_ptr&lt;GCController&gt; m_gcController;
</span><span class="cx">     std::unique_ptr&lt;AccessibilityController&gt; m_accessibilityController;
</span><span class="cx">     std::unique_ptr&lt;TextInputController&gt; m_textInputController;
</span><ins>+    ULONG m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // FrameLoadDelegate_h
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinHistoryDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/HistoryDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/HistoryDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/HistoryDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009, 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 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">@@ -41,7 +41,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HistoryDelegate::HistoryDelegate()
</span><del>-    : m_refCount(1)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -49,10 +48,12 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-    // IUnknown
-HRESULT HistoryDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+// IUnknown
+HRESULT HistoryDelegate::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;IWebHistoryDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebHistoryDelegate))
</span><span class="lines">@@ -64,12 +65,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG HistoryDelegate::AddRef(void)
</del><ins>+ULONG HistoryDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG HistoryDelegate::Release(void)
</del><ins>+ULONG HistoryDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -79,7 +80,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IWebHistoryDelegate
</span><del>-HRESULT HistoryDelegate::didNavigateWithNavigationData(IWebView* webView, IWebNavigationData* navigationData, IWebFrame* webFrame)
</del><ins>+HRESULT HistoryDelegate::didNavigateWithNavigationData(_In_opt_ IWebView* webView, _In_opt_ IWebNavigationData* navigationData, _In_opt_ IWebFrame* webFrame)
</ins><span class="cx"> {
</span><span class="cx">     if (!gTestRunner-&gt;dumpHistoryDelegateCallbacks())
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -150,7 +151,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT HistoryDelegate::didPerformClientRedirectFromURL(IWebView*, BSTR sourceURL, BSTR destinationURL, IWebFrame*)
</del><ins>+HRESULT HistoryDelegate::didPerformClientRedirectFromURL(_In_opt_ IWebView*, _In_ BSTR sourceURL, _In_ BSTR destinationURL, _In_opt_ IWebFrame*)
</ins><span class="cx"> {
</span><span class="cx">     if (!gTestRunner-&gt;dumpHistoryDelegateCallbacks())
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -167,7 +168,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT HistoryDelegate::didPerformServerRedirectFromURL(IWebView* webView, BSTR sourceURL, BSTR destinationURL, IWebFrame* webFrame)
</del><ins>+HRESULT HistoryDelegate::didPerformServerRedirectFromURL(_In_opt_ IWebView* webView, _In_ BSTR sourceURL, _In_ BSTR destinationURL, _In_opt_ IWebFrame* webFrame)
</ins><span class="cx"> {
</span><span class="cx">     if (!gTestRunner-&gt;dumpHistoryDelegateCallbacks())
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -184,7 +185,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT HistoryDelegate::updateHistoryTitle(IWebView* webView, BSTR titleBSTR, BSTR urlBSTR)
</del><ins>+HRESULT HistoryDelegate::updateHistoryTitle(_In_opt_ IWebView* webView, _In_ BSTR titleBSTR, _In_ BSTR urlBSTR)
</ins><span class="cx"> {
</span><span class="cx">     if (!gTestRunner-&gt;dumpHistoryDelegateCallbacks())
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -197,7 +198,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-HRESULT HistoryDelegate::populateVisitedLinksForWebView(IWebView* webView)
</del><ins>+HRESULT HistoryDelegate::populateVisitedLinksForWebView(_In_opt_ IWebView* webView)
</ins><span class="cx"> {
</span><span class="cx">     if (!gTestRunner-&gt;dumpHistoryDelegateCallbacks())
</span><span class="cx">         return S_OK;
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinHistoryDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/HistoryDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/HistoryDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/HistoryDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -34,38 +34,19 @@
</span><span class="cx">     virtual ~HistoryDelegate();
</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">     // IWebHistoryDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didNavigateWithNavigationData(
-        /* [in] */ IWebView* webView, 
-        /* [in] */ IWebNavigationData* navigationData, 
-        /* [in] */ IWebFrame* webFrame);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didNavigateWithNavigationData(_In_opt_ IWebView*, _In_opt_ IWebNavigationData*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didPerformClientRedirectFromURL(_In_opt_ IWebView*, _In_ BSTR sourceURL, _In_ BSTR destinationURL, _In_opt_ IWebFrame*);    
+    virtual HRESULT STDMETHODCALLTYPE didPerformServerRedirectFromURL(_In_opt_ IWebView*, _In_ BSTR sourceURL, _In_ BSTR destinationURL, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE updateHistoryTitle(_In_opt_ IWebView*, _In_ BSTR title, _In_ BSTR url);    
+    virtual HRESULT STDMETHODCALLTYPE populateVisitedLinksForWebView(_In_opt_ IWebView*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didPerformClientRedirectFromURL(
-        /* [in] */ IWebView* webView, 
-        /* [in] */ BSTR sourceURL, 
-        /* [in] */ BSTR destinationURL, 
-        /* [in] */ IWebFrame* webFrame);
-    
-    virtual HRESULT STDMETHODCALLTYPE didPerformServerRedirectFromURL(
-        /* [in] */ IWebView* webView, 
-        /* [in] */ BSTR sourceURL, 
-        /* [in] */ BSTR destinationURL, 
-        /* [in] */ IWebFrame* webFrame);
-    
-    virtual HRESULT STDMETHODCALLTYPE updateHistoryTitle(
-        /* [in] */ IWebView* webView, 
-        /* [in] */ BSTR title, 
-        /* [in] */ BSTR url);
-    
-    virtual HRESULT STDMETHODCALLTYPE populateVisitedLinksForWebView(
-        /* [in] */ IWebView* webView);
-
</del><span class="cx"> private:
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // HistoryDelegate_h
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinPolicyDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/PolicyDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/PolicyDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/PolicyDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2009, 2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 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">@@ -55,16 +55,15 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PolicyDelegate::PolicyDelegate()
</span><del>-    : m_refCount(1)
-    , m_permissiveDelegate(false)
-    , m_controllerToNotifyDone(0)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown
</span><del>-HRESULT PolicyDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT PolicyDelegate::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;IWebPolicyDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebPolicyDelegate))
</span><span class="lines">@@ -76,12 +75,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG PolicyDelegate::AddRef(void)
</del><ins>+ULONG PolicyDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG PolicyDelegate::Release(void)
</del><ins>+ULONG PolicyDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -90,8 +89,8 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT PolicyDelegate::decidePolicyForNavigationAction(IWebView* /*webView*/, IPropertyBag* actionInformation, 
-    IWebURLRequest* request, IWebFrame* frame, IWebPolicyDecisionListener* listener)
</del><ins>+HRESULT PolicyDelegate::decidePolicyForNavigationAction(_In_opt_ IWebView*, _In_opt_ IPropertyBag* actionInformation,
+    _In_opt_ IWebURLRequest* request, _In_opt_ IWebFrame* frame, _In_opt_ IWebPolicyDecisionListener* listener)
</ins><span class="cx"> {
</span><span class="cx">     _bstr_t url;
</span><span class="cx">     request-&gt;URL(&amp;url.GetBSTR());
</span><span class="lines">@@ -156,10 +155,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT PolicyDelegate::unableToImplementPolicyWithError(
-    /*[in]*/ IWebView* /*webView*/, 
-    /*[in]*/ IWebError* error, 
-    /*[in]*/ IWebFrame* frame)
</del><ins>+HRESULT PolicyDelegate::unableToImplementPolicyWithError(_In_opt_ IWebView*, _In_opt_ IWebError* error, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     _bstr_t domainStr;
</span><span class="cx">     error-&gt;domain(&amp;domainStr.GetBSTR());
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinPolicyDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/PolicyDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/PolicyDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/PolicyDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2009 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 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">@@ -38,45 +38,35 @@
</span><span class="cx">     PolicyDelegate();
</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">     // 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*);    
+    virtual HRESULT STDMETHODCALLTYPE decidePolicyForNewWindowAction(_In_opt_ IWebView*, _In_opt_ IPropertyBag* actionInformation,
+        _In_opt_ IWebURLRequest*, _In_ BSTR frameName, _In_opt_ IWebPolicyDecisionListener*)
+    {
+        return E_NOTIMPL;
+    }
+
+    virtual HRESULT STDMETHODCALLTYPE decidePolicyForMIMEType(_In_opt_ IWebView*, _In_ BSTR type, _In_opt_ IWebURLRequest*,
+        _In_opt_ IWebFrame*, _In_opt_ IWebPolicyDecisionListener*)
+    {
+        return E_NOTIMPL;
+    }
</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){ return E_NOTIMPL; }
-    
-    virtual HRESULT STDMETHODCALLTYPE decidePolicyForMIMEType( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR type,
-        /* [in] */ IWebURLRequest *request,
-        /* [in] */ IWebFrame *frame,
-        /* [in] */ IWebPolicyDecisionListener *listener){ return E_NOTIMPL; }
-    
-    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">     // PolicyDelegate
</span><span class="cx">     void setPermissive(bool permissive) { m_permissiveDelegate = permissive; }
</span><span class="cx">     void setControllerToNotifyDone(TestRunner* controller) { m_controllerToNotifyDone = controller; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    ULONG m_refCount;
-    bool m_permissiveDelegate;
-    TestRunner* m_controllerToNotifyDone;
</del><ins>+    TestRunner* m_controllerToNotifyDone { nullptr };
+    ULONG m_refCount { 1 };
+    bool m_permissiveDelegate { false };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // PolicyDelegate_h
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinResourceLoadDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</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">@@ -157,7 +157,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ResourceLoadDelegate::ResourceLoadDelegate()
</span><del>-    : m_refCount(1)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -165,9 +164,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT ResourceLoadDelegate::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;IWebResourceLoadDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebResourceLoadDelegate))
</span><span class="lines">@@ -181,12 +182,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG ResourceLoadDelegate::AddRef(void)
</del><ins>+ULONG ResourceLoadDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG ResourceLoadDelegate::Release(void)
</del><ins>+ULONG ResourceLoadDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -195,7 +196,8 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::identifierForInitialRequest(IWebView* webView, IWebURLRequest* request, IWebDataSource* dataSource, unsigned long identifier)
</del><ins>+HRESULT ResourceLoadDelegate::identifierForInitialRequest(_In_opt_ IWebView* webView, _In_opt_ IWebURLRequest* request,
+    _In_opt_ IWebDataSource* dataSource, unsigned long identifier)
</ins><span class="cx"> { 
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpResourceLoadCallbacks()) {
</span><span class="cx">         _bstr_t urlStr;
</span><span class="lines">@@ -209,9 +211,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::removeIdentifierForRequest(
-    /* [in] */ IWebView* webView,
-    /* [in] */ unsigned long identifier)
</del><ins>+HRESULT ResourceLoadDelegate::removeIdentifierForRequest(_In_opt_ IWebView* webView, unsigned long identifier)
</ins><span class="cx"> {
</span><span class="cx">     urlMap().remove(identifier);
</span><span class="cx"> 
</span><span class="lines">@@ -229,9 +229,14 @@
</span><span class="cx">     return kCFCompareEqualTo == CFStringCompare(host, CFSTR(&quot;255.255.255.255&quot;), 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::willSendRequest(IWebView* webView, unsigned long identifier, IWebURLRequest* request,
-    IWebURLResponse* redirectResponse, IWebDataSource* dataSource, IWebURLRequest** newRequest)
</del><ins>+HRESULT ResourceLoadDelegate::willSendRequest(_In_opt_ IWebView* webView, unsigned long identifier, _In_opt_ IWebURLRequest* request,
+    _In_opt_ IWebURLResponse* redirectResponse, _In_opt_ IWebDataSource* dataSource, _COM_Outptr_opt_ IWebURLRequest** newRequest)
</ins><span class="cx"> {
</span><ins>+    if (!newRequest)
+        return E_POINTER;
+
+    *newRequest = nullptr;
+
</ins><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpResourceLoadCallbacks()) {
</span><span class="cx">         printf(&quot;%S - willSendRequest %S redirectResponse %S\n&quot;, 
</span><span class="cx">             descriptionSuitableForTestResult(identifier).c_str(),
</span><span class="lines">@@ -241,28 +246,23 @@
</span><span class="cx"> 
</span><span class="cx">     if (!done &amp;&amp; !gTestRunner-&gt;deferMainResourceDataLoad()) {
</span><span class="cx">         COMPtr&lt;IWebDataSourcePrivate&gt; dataSourcePrivate(Query, dataSource);
</span><del>-        if (!dataSourcePrivate) {
-            *newRequest = nullptr;
</del><ins>+        if (!dataSourcePrivate)
</ins><span class="cx">             return E_FAIL;
</span><del>-        }
</del><ins>+
</ins><span class="cx">         dataSourcePrivate-&gt;setDeferMainResourceDataLoad(FALSE);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!done &amp;&amp; gTestRunner-&gt;willSendRequestReturnsNull()) {
-        *newRequest = nullptr;
</del><ins>+    if (!done &amp;&amp; gTestRunner-&gt;willSendRequestReturnsNull())
</ins><span class="cx">         return S_OK;
</span><del>-    }
</del><span class="cx"> 
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;willSendRequestReturnsNullOnRedirect() &amp;&amp; redirectResponse) {
</span><span class="cx">         printf(&quot;Returning null for this redirect\n&quot;);
</span><del>-        *newRequest = nullptr;
</del><span class="cx">         return S_OK;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _bstr_t urlBstr;
</span><span class="cx">     if (FAILED(request-&gt;URL(&amp;urlBstr.GetBSTR()))) {
</span><span class="cx">         printf(&quot;Request has no URL\n&quot;);
</span><del>-        *newRequest = nullptr;
</del><span class="cx">         return E_FAIL;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -285,7 +285,6 @@
</span><span class="cx">             }
</span><span class="cx">             if (!isLocalhost(host.get()) &amp;&amp; !hostIsUsedBySomeTestsToGenerateError(host.get()) &amp;&amp; (!testHost || isLocalhost(testHost.get()))) {
</span><span class="cx">                 printf(&quot;Blocked access to external URL %s\n&quot;, static_cast&lt;const char*&gt;(urlBstr));
</span><del>-                *newRequest = nullptr;
</del><span class="cx">                 return S_OK;
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="lines">@@ -303,7 +302,8 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didReceiveAuthenticationChallenge(IWebView* webView, unsigned long identifier, IWebURLAuthenticationChallenge* challenge, IWebDataSource* dataSource)
</del><ins>+HRESULT ResourceLoadDelegate::didReceiveAuthenticationChallenge(_In_opt_ IWebView* webView, unsigned long identifier,
+    _In_opt_ IWebURLAuthenticationChallenge* challenge, _In_opt_ IWebDataSource* dataSource)
</ins><span class="cx"> {
</span><span class="cx">     COMPtr&lt;IWebURLAuthenticationChallengeSender&gt; sender;
</span><span class="cx">     if (!challenge || FAILED(challenge-&gt;sender(&amp;sender)))
</span><span class="lines">@@ -329,11 +329,8 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didReceiveResponse(
-    /* [in] */ IWebView* webView, 
-    /* [in] */ unsigned long identifier, 
-    /* [in] */ IWebURLResponse* response, 
-    /* [in] */ IWebDataSource* dataSource)
</del><ins>+HRESULT ResourceLoadDelegate::didReceiveResponse(_In_opt_ IWebView* webView, unsigned long identifier, 
+    _In_opt_ IWebURLResponse* response, _In_opt_ IWebDataSource* dataSource)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpResourceLoadCallbacks()) {
</span><span class="cx">         printf(&quot;%S - didReceiveResponse %S\n&quot;,
</span><span class="lines">@@ -358,7 +355,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didFinishLoadingFromDataSource(IWebView* webView, unsigned long identifier, IWebDataSource* dataSource)
</del><ins>+HRESULT ResourceLoadDelegate::didFinishLoadingFromDataSource(_In_opt_ IWebView* webView, unsigned long identifier, _In_opt_ IWebDataSource* dataSource)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpResourceLoadCallbacks()) {
</span><span class="cx">         printf(&quot;%S - didFinishLoading\n&quot;,
</span><span class="lines">@@ -370,7 +367,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">         
</span><del>-HRESULT ResourceLoadDelegate::didFailLoadingWithError(IWebView* webView, unsigned long identifier, IWebError* error, IWebDataSource* dataSource)
</del><ins>+HRESULT ResourceLoadDelegate::didFailLoadingWithError(_In_opt_ IWebView* webView, unsigned long identifier, _In_opt_ IWebError* error, _In_opt_ IWebDataSource* dataSource)
</ins><span class="cx"> {
</span><span class="cx">     if (!done &amp;&amp; gTestRunner-&gt;dumpResourceLoadCallbacks()) {
</span><span class="cx">         printf(&quot;%S - didFailLoadingWithError: %S\n&quot;, 
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinResourceLoadDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/ResourceLoadDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -39,69 +39,33 @@
</span><span class="cx">     virtual ~ResourceLoadDelegate();
</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">     // IWebResourceLoadDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE identifierForInitialRequest( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebURLRequest *request,
-        /* [in] */ IWebDataSource *dataSource,
-        /* [in] */ unsigned long identifier);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE identifierForInitialRequest(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _In_opt_ IWebDataSource*, unsigned long identifier);        
+    virtual HRESULT STDMETHODCALLTYPE willSendRequest(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLRequest*, _In_opt_ IWebURLResponse*,
+        _In_opt_ IWebDataSource*, _COM_Outptr_opt_ IWebURLRequest**);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLAuthenticationChallenge*, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLAuthenticationChallenge*, _In_opt_ IWebDataSource *dataSource)
+    {
+        return E_NOTIMPL;
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE willSendRequest( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier,
-        /* [in] */ IWebURLRequest *request,
-        /* [in] */ IWebURLResponse *redirectResponse,
-        /* [in] */ IWebDataSource *dataSource,
-        /* [retval][out] */ IWebURLRequest **newRequest);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didReceiveResponse(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLResponse*, _In_opt_ IWebDataSource*);
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier,
-        /* [in] */ IWebURLAuthenticationChallenge *challenge,
-        /* [in] */ IWebDataSource *dataSource);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didReceiveContentLength(_In_opt_ IWebView*, unsigned long identifier, UINT length, _In_opt_ IWebDataSource*)
+    {
+        return E_NOTIMPL; 
+    }
</ins><span class="cx">         
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier,
-        /* [in] */ IWebURLAuthenticationChallenge *challenge,
-        /* [in] */ IWebDataSource *dataSource) { return E_NOTIMPL; }
-        
-    virtual HRESULT STDMETHODCALLTYPE didReceiveResponse( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier,
-        /* [in] */ IWebURLResponse *response,
-        /* [in] */ IWebDataSource *dataSource);
-        
-    virtual HRESULT STDMETHODCALLTYPE didReceiveContentLength( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier,
-        /* [in] */ UINT length,
-        /* [in] */ IWebDataSource *dataSource) { return E_NOTIMPL; }
-        
-    virtual HRESULT STDMETHODCALLTYPE didFinishLoadingFromDataSource( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier,
-        /* [in] */ IWebDataSource *dataSource);
-        
-    virtual HRESULT STDMETHODCALLTYPE didFailLoadingWithError( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier,
-        /* [in] */ IWebError *error,
-        /* [in] */ IWebDataSource *dataSource);
-        
-    virtual HRESULT STDMETHODCALLTYPE plugInFailedWithError( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebError *error,
-        /* [in] */ IWebDataSource *dataSource) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didFinishLoadingFromDataSource(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE didFailLoadingWithError(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebError*, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE plugInFailedWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebDataSource*) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><span class="cx">     // IWebResourceLoadDelegatePrivate2
</span><del>-    virtual HRESULT STDMETHODCALLTYPE removeIdentifierForRequest(
-        /* [in] */ IWebView *webView,
-        /* [in] */ unsigned long identifier);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE removeIdentifierForRequest(_In_opt_ IWebView*, unsigned long identifier);
</ins><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     static std::wstring descriptionSuitableForTestResult(IWebURLRequest*);
</span><span class="lines">@@ -113,7 +77,7 @@
</span><span class="cx">     IdentifierMap&amp; urlMap() { return m_urlMap; }
</span><span class="cx">     IdentifierMap m_urlMap;
</span><span class="cx"> 
</span><del>-    ULONG m_refCount;
</del><ins>+    ULONG m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // ResourceLoadDelegate_h
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinTestRunnerWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -262,7 +262,7 @@
</span><span class="cx">     if (FAILED(sharedHistory-&gt;QueryInterface(&amp;sharedHistoryPrivate)))
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    int count;
</del><ins>+    int count = 0;
</ins><span class="cx">     if (FAILED(sharedHistoryPrivate-&gt;allItems(&amp;count, 0)))
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreewinUIDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/UIDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/UIDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/UIDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2005, 2006, 2007, 2008, 2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2005-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">@@ -96,15 +96,13 @@
</span><span class="cx"> private:
</span><span class="cx">     std::unique_ptr&lt;DRTUndoStack&gt; m_redoStack;
</span><span class="cx">     std::unique_ptr&lt;DRTUndoStack&gt; m_undoStack;
</span><del>-    bool m_isRedoing;
-    bool m_isUndoing;
</del><ins>+    bool m_isRedoing { false };
+    bool m_isUndoing { false };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> DRTUndoManager::DRTUndoManager()
</span><span class="cx">     : m_redoStack(std::make_unique&lt;DRTUndoStack&gt;())
</span><span class="cx">     , m_undoStack(std::make_unique&lt;DRTUndoStack&gt;())
</span><del>-    , m_isRedoing(false)
-    , m_isUndoing(false)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -148,8 +146,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> UIDelegate::UIDelegate()
</span><del>-    : m_refCount(1)
-    , m_undoManager(std::make_unique&lt;DRTUndoManager&gt;())
</del><ins>+    : m_undoManager(std::make_unique&lt;DRTUndoManager&gt;())
</ins><span class="cx">     , m_desktopNotifications(new DRTDesktopNotificationPresenter)
</span><span class="cx"> {
</span><span class="cx">     m_frame.bottom = 0;
</span><span class="lines">@@ -163,9 +160,11 @@
</span><span class="cx">     m_undoManager = std::make_unique&lt;DRTUndoManager&gt;();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT UIDelegate::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;IWebUIDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebUIDelegate))
</span><span class="lines">@@ -199,32 +198,40 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::hasCustomMenuImplementation(BOOL* hasCustomMenus)
</del><ins>+HRESULT UIDelegate::willPerformDragSourceAction(_In_opt_ IWebView*, WebDragSourceAction, _In_ LPPOINT, _In_opt_ IDataObject* pasteboard, _COM_Outptr_opt_ IDataObject** newPasteboard)
</ins><span class="cx"> {
</span><ins>+    if (!newPasteboard)
+        return E_POINTER;
+    *newPasteboard = nullptr;
+    return E_NOTIMPL;
+}
+
+HRESULT UIDelegate::hasCustomMenuImplementation(_Out_ BOOL* hasCustomMenus)
+{
</ins><span class="cx">     *hasCustomMenus = TRUE;
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::trackCustomPopupMenu(IWebView* /*sender*/, HMENU /*menu*/, LPPOINT /*point*/)
</del><ins>+HRESULT UIDelegate::trackCustomPopupMenu(_In_opt_ IWebView* /*sender*/, _In_ HMENU /*menu*/, _In_ LPPOINT /*point*/)
</ins><span class="cx"> {
</span><span class="cx">     // Do nothing
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::registerUndoWithTarget(IWebUndoTarget* target, BSTR actionName, IUnknown* actionArg)
</del><ins>+HRESULT UIDelegate::registerUndoWithTarget(_In_opt_ IWebUndoTarget* target, _In_ BSTR actionName, _In_opt_ IUnknown* actionArg)
</ins><span class="cx"> {
</span><span class="cx">     m_undoManager-&gt;registerUndoWithTarget(target, actionName, actionArg);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::removeAllActionsWithTarget(IWebUndoTarget*)
</del><ins>+HRESULT UIDelegate::removeAllActionsWithTarget(_In_opt_ IWebUndoTarget*)
</ins><span class="cx"> {
</span><span class="cx">     m_undoManager-&gt;removeAllActions();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::setActionTitle(BSTR /*actionTitle*/)
</del><ins>+HRESULT UIDelegate::setActionTitle(_In_ BSTR /*actionTitle*/)
</ins><span class="cx"> {
</span><span class="cx">     // It is not neccessary to implement this for DRT because there is
</span><span class="cx">     // menu to write out the title to.
</span><span class="lines">@@ -243,7 +250,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::canUndo(BOOL* result)
</del><ins>+HRESULT UIDelegate::canUndo(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -252,7 +259,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::canRedo(BOOL* result)
</del><ins>+HRESULT UIDelegate::canRedo(_Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -261,21 +268,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::printFrame(IWebView* /*webView*/, IWebFrame* /*frame*/)
</del><ins>+HRESULT UIDelegate::printFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::ftpDirectoryTemplatePath(IWebView* /*webView*/, BSTR* path)
</del><ins>+HRESULT UIDelegate::ftpDirectoryTemplatePath(_In_opt_ IWebView*, __deref_opt_out BSTR* path)
</ins><span class="cx"> {
</span><span class="cx">     if (!path)
</span><span class="cx">         return E_POINTER;
</span><del>-    *path = 0;
</del><ins>+    *path = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewHeaderHeight(IWebView* /*webView*/, float* result)
</del><ins>+HRESULT UIDelegate::webViewHeaderHeight(_In_opt_ IWebView*, _Out_ float* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -283,7 +290,7 @@
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewFooterHeight(IWebView* /*webView*/, float* result)
</del><ins>+HRESULT UIDelegate::webViewFooterHeight(_In_opt_ IWebView*, _Out_ float* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -291,37 +298,40 @@
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::drawHeaderInRect(IWebView* /*webView*/, RECT* /*rect*/, ULONG_PTR /*drawingContext*/)
</del><ins>+HRESULT UIDelegate::drawHeaderInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR /*drawingContext*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::drawFooterInRect(IWebView* /*webView*/, RECT* /*rect*/, ULONG_PTR /*drawingContext*/, UINT /*pageIndex*/, UINT /*pageCount*/)
</del><ins>+HRESULT UIDelegate::drawFooterInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR /*drawingContext*/, UINT /*pageIndex*/, UINT /*pageCount*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewPrintingMarginRect(IWebView* /*webView*/, RECT* /*rect*/)
</del><ins>+HRESULT UIDelegate::webViewPrintingMarginRect(_In_opt_ IWebView*, _Out_ RECT*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::canRunModal(IWebView* /*webView*/, BOOL* /*canRunBoolean*/)
</del><ins>+HRESULT UIDelegate::canRunModal(_In_opt_ IWebView*, _Out_ BOOL* /*canRunBoolean*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::createModalDialog(IWebView* /*sender*/, IWebURLRequest* /*request*/, IWebView** /*newWebView*/)
</del><ins>+HRESULT UIDelegate::createModalDialog(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebURLRequest* /*request*/, _COM_Outptr_opt_ IWebView** newWebView)
</ins><span class="cx"> {
</span><ins>+    if (!newWebView)
+        return E_POINTER;
+    *newWebView = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::runModal(IWebView* /*webView*/)
</del><ins>+HRESULT UIDelegate::runModal(_In_opt_ IWebView*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::isMenuBarVisible(IWebView* /*webView*/, BOOL* visible)
</del><ins>+HRESULT UIDelegate::isMenuBarVisible(_In_opt_ IWebView*, _Out_ BOOL* visible)
</ins><span class="cx"> {
</span><span class="cx">     if (!visible)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -329,12 +339,12 @@
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::setMenuBarVisible(IWebView* /*webView*/, BOOL /*visible*/)
</del><ins>+HRESULT UIDelegate::setMenuBarVisible(_In_opt_ IWebView*, BOOL /*visible*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::runDatabaseSizeLimitPrompt(IWebView* /*webView*/, BSTR /*displayName*/, IWebFrame* /*initiatedByFrame*/, BOOL* allowed)
</del><ins>+HRESULT UIDelegate::runDatabaseSizeLimitPrompt(_In_opt_ IWebView*, _In_ BSTR /*displayName*/, _In_opt_ IWebFrame* /*initiatedByFrame*/, _Out_ BOOL* allowed)
</ins><span class="cx"> {
</span><span class="cx">     if (!allowed)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -342,30 +352,30 @@
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::paintCustomScrollbar(IWebView* /*webView*/, HDC /*hDC*/, RECT /*rect*/, WebScrollBarControlSize /*size*/, WebScrollbarControlState /*state*/,
-    WebScrollbarControlPart /*pressedPart*/, BOOL /*vertical*/, float /*value*/, float /*proportion*/, WebScrollbarControlPartMask /*parts*/)
</del><ins>+HRESULT UIDelegate::paintCustomScrollbar(_In_opt_ IWebView*, _In_ HDC, RECT, WebScrollBarControlSize, WebScrollbarControlState,
+    WebScrollbarControlPart /*pressedPart*/, BOOL /*vertical*/, float /*value*/, float /*proportion*/, WebScrollbarControlPartMask)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::paintCustomScrollCorner(IWebView* /*webView*/, HDC /*hDC*/, RECT /*rect*/)
</del><ins>+HRESULT UIDelegate::paintCustomScrollCorner(_In_opt_ IWebView*, _In_ HDC, RECT)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::setFrame(IWebView* /*sender*/, RECT* frame)
</del><ins>+HRESULT UIDelegate::setFrame(_In_opt_ IWebView* /*sender*/, _In_ RECT* frame)
</ins><span class="cx"> {
</span><span class="cx">     m_frame = *frame;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewFrame(IWebView* /*sender*/, RECT* frame)
</del><ins>+HRESULT UIDelegate::webViewFrame(_In_opt_ IWebView* /*sender*/, _Out_ RECT* frame)
</ins><span class="cx"> {
</span><span class="cx">     *frame = m_frame;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::runJavaScriptAlertPanelWithMessage(IWebView* /*sender*/, BSTR message)
</del><ins>+HRESULT UIDelegate::runJavaScriptAlertPanelWithMessage(_In_opt_ IWebView* /*sender*/, _In_ BSTR message)
</ins><span class="cx"> {
</span><span class="cx">     if (!done) {
</span><span class="cx">         printf(&quot;ALERT: %S\n&quot;, message ? message : L&quot;&quot;);
</span><span class="lines">@@ -375,7 +385,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::runJavaScriptConfirmPanelWithMessage(IWebView* /*sender*/, BSTR message, BOOL* result)
</del><ins>+HRESULT UIDelegate::runJavaScriptConfirmPanelWithMessage(_In_opt_ IWebView* /*sender*/, _In_ BSTR message, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!done)
</span><span class="cx">         printf(&quot;CONFIRM: %S\n&quot;, message ? message : L&quot;&quot;);
</span><span class="lines">@@ -385,7 +395,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::runJavaScriptTextInputPanelWithPrompt(IWebView* /*sender*/, BSTR message, BSTR defaultText, BSTR* result)
</del><ins>+HRESULT UIDelegate::runJavaScriptTextInputPanelWithPrompt(_In_opt_ IWebView* /*sender*/, _In_ BSTR message, _In_ BSTR defaultText, __deref_opt_out BSTR* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!done)
</span><span class="cx">         printf(&quot;PROMPT: %S, default text: %S\n&quot;, message ? message : L&quot;&quot;, defaultText ? defaultText : L&quot;&quot;);
</span><span class="lines">@@ -395,7 +405,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::runBeforeUnloadConfirmPanelWithMessage(IWebView* /*sender*/, BSTR message, IWebFrame* /*initiatedByFrame*/, BOOL* result)
</del><ins>+HRESULT UIDelegate::runBeforeUnloadConfirmPanelWithMessage(_In_opt_ IWebView* /*sender*/, _In_ BSTR message, _In_opt_ IWebFrame* /*initiatedByFrame*/, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!result)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -408,7 +418,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewAddMessageToConsole(IWebView* /*sender*/, BSTR message, int lineNumber, BSTR url, BOOL isError)
</del><ins>+HRESULT UIDelegate::webViewAddMessageToConsole(_In_opt_ IWebView* /*sender*/, _In_ BSTR message, int lineNumber, _In_ BSTR url, BOOL isError)
</ins><span class="cx"> {
</span><span class="cx">     if (done)
</span><span class="cx">         return S_OK;
</span><span class="lines">@@ -429,7 +439,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::doDragDrop(IWebView* /*sender*/, IDataObject* object, IDropSource* source, DWORD /*okEffect*/, DWORD* performedEffect)
</del><ins>+HRESULT UIDelegate::doDragDrop(_In_opt_ IWebView* /*sender*/, _In_opt_ IDataObject* object, _In_opt_ IDropSource* source, DWORD /*okEffect*/, _Out_ DWORD* performedEffect)
</ins><span class="cx"> {
</span><span class="cx">     if (!performedEffect)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -447,7 +457,7 @@
</span><span class="cx">     return oleDragAndDropReturnValue;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewGetDlgCode(IWebView* /*sender*/, UINT /*keyCode*/, LONG_PTR* code)
</del><ins>+HRESULT UIDelegate::webViewGetDlgCode(_In_opt_ IWebView* /*sender*/, UINT /*keyCode*/, _Out_ LONG_PTR* code)
</ins><span class="cx"> {
</span><span class="cx">     if (!code)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -455,15 +465,20 @@
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::createWebViewWithRequest(IWebView* /*sender*/, IWebURLRequest* /*request*/, IWebView** newWebView)
</del><ins>+HRESULT UIDelegate::createWebViewWithRequest(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebURLRequest* /*request*/, _COM_Outptr_opt_ IWebView** newWebView)
</ins><span class="cx"> {
</span><ins>+    if (!newWebView)
+        return E_POINTER;
+    *newWebView = nullptr;
+
</ins><span class="cx">     if (!::gTestRunner-&gt;canOpenWindows())
</span><span class="cx">         return E_FAIL;
</span><ins>+
</ins><span class="cx">     *newWebView = createWebViewAndOffscreenWindow();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewClose(IWebView* sender)
</del><ins>+HRESULT UIDelegate::webViewClose(_In_opt_ IWebView* sender)
</ins><span class="cx"> {
</span><span class="cx">     HWND hostWindow;
</span><span class="cx">     sender-&gt;hostWindow(&amp;hostWindow);
</span><span class="lines">@@ -471,7 +486,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewFocus(IWebView* sender)
</del><ins>+HRESULT UIDelegate::webViewFocus(_In_opt_ IWebView* sender)
</ins><span class="cx"> {
</span><span class="cx">     HWND hostWindow;
</span><span class="cx">     sender-&gt;hostWindow(&amp;hostWindow);
</span><span class="lines">@@ -479,18 +494,18 @@
</span><span class="cx">     return S_OK; 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewUnfocus(IWebView* /*sender*/)
</del><ins>+HRESULT UIDelegate::webViewUnfocus(_In_opt_ IWebView* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     SetForegroundWindow(GetDesktopWindow());
</span><span class="cx">     return S_OK; 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewPainted(IWebView* /*sender*/)
</del><ins>+HRESULT UIDelegate::webViewPainted(_In_opt_ IWebView* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::exceededDatabaseQuota(IWebView* sender, IWebFrame* frame, IWebSecurityOrigin* origin, BSTR databaseIdentifier)
</del><ins>+HRESULT UIDelegate::exceededDatabaseQuota(_In_opt_ IWebView* sender, _In_opt_ IWebFrame* frame, _In_opt_ IWebSecurityOrigin* origin, _In_ BSTR databaseIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     _bstr_t protocol;
</span><span class="cx">     _bstr_t host;
</span><span class="lines">@@ -541,60 +556,65 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::embeddedViewWithArguments(IWebView* /*sender*/, IWebFrame* /*frame*/, IPropertyBag* /*arguments*/, IWebEmbeddedView** view)
</del><ins>+HRESULT UIDelegate::embeddedViewWithArguments(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebFrame* /*frame*/, _In_opt_ IPropertyBag* /*arguments*/, _COM_Outptr_opt_ IWebEmbeddedView** view)
</ins><span class="cx"> {
</span><span class="cx">     if (!view)
</span><span class="cx">         return E_POINTER;
</span><del>-    *view = 0;
</del><ins>+    *view = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewClosing(IWebView* /*sender*/)
</del><ins>+HRESULT UIDelegate::webViewClosing(_In_opt_ IWebView* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewSetCursor(IWebView* /*sender*/, HCURSOR /*cursor*/)
</del><ins>+HRESULT UIDelegate::webViewSetCursor(_In_opt_ IWebView* /*sender*/, _In_ HCURSOR /*cursor*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::webViewDidInvalidate(IWebView* /*sender*/)
</del><ins>+HRESULT UIDelegate::webViewDidInvalidate(_In_opt_ IWebView* /*sender*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::setStatusText(IWebView*, BSTR text)
</del><ins>+HRESULT UIDelegate::setStatusText(_In_opt_ IWebView*, _In_ BSTR text)
</ins><span class="cx"> { 
</span><span class="cx">     if (gTestRunner-&gt;dumpStatusCallbacks())
</span><span class="cx">         printf(&quot;UI DELEGATE STATUS CALLBACK: setStatusText:%S\n&quot;, text ? text : L&quot;&quot;);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::desktopNotificationsDelegate(IWebDesktopNotificationsDelegate** result)
</del><ins>+HRESULT UIDelegate::desktopNotificationsDelegate(_COM_Outptr_opt_ IWebDesktopNotificationsDelegate** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
</ins><span class="cx">     m_desktopNotifications.copyRefTo(result);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::createWebViewWithRequest(IWebView* /*sender*/, IWebURLRequest* /*request*/, IPropertyBag* /*windowFeatures*/, IWebView** /*newWebView*/)
</del><ins>+HRESULT UIDelegate::createWebViewWithRequest(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebURLRequest* /*request*/, _In_opt_ IPropertyBag* /*windowFeatures*/, _COM_Outptr_opt_ IWebView** newWebView)
</ins><span class="cx"> {
</span><ins>+    if (!newWebView)
+        return E_POINTER;
+    *newWebView = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::drawBackground(IWebView* /*sender*/, HDC /*hdc*/, const RECT* /*dirtyRect*/)
</del><ins>+HRESULT UIDelegate::drawBackground(_In_opt_ IWebView* /*sender*/, _In_ HDC, _In_ const RECT* /*dirtyRect*/)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::decidePolicyForGeolocationRequest(IWebView* /*sender*/, IWebFrame* frame, IWebSecurityOrigin* /*origin*/, IWebGeolocationPolicyListener* /*listener*/)
</del><ins>+HRESULT UIDelegate::decidePolicyForGeolocationRequest(_In_opt_ IWebView* /*sender*/, _In_opt_ IWebFrame*, _In_opt_ IWebSecurityOrigin*, _In_opt_ IWebGeolocationPolicyListener*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT UIDelegate::didPressMissingPluginButton(IDOMElement* /*element*/)
</del><ins>+HRESULT UIDelegate::didPressMissingPluginButton(_In_opt_ IDOMElement* /*element*/)
</ins><span class="cx"> {
</span><span class="cx">     printf(&quot;MISSING PLUGIN BUTTON PRESSED\n&quot;);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><del>-
</del></span></pre></div>
<a id="trunkToolsDumpRenderTreewinUIDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/win/UIDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/win/UIDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/DumpRenderTree/win/UIDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2005, 2006, 2007, 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2005-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">@@ -43,338 +43,102 @@
</span><span class="cx">     void resetUndoManager();
</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">     // IWebUIDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebURLRequest *request,
-        /* [retval][out] */ IWebView **newWebView);
-
-    virtual HRESULT STDMETHODCALLTYPE webViewShow( 
-        /* [in] */ IWebView *sender) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE webViewClose( 
-        /* [in] */ IWebView *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE webViewFocus( 
-        /* [in] */ IWebView *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus( 
-        /* [in] */ IWebView *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(IWebView*, HWND*) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(IWebView*, HWND) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE setStatusText( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BSTR text);
-
-    virtual HRESULT STDMETHODCALLTYPE webViewStatusText( 
-        /* [in] */ IWebView *sender,
-        /* [retval][out] */ BSTR *text) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible( 
-        /* [in] */ IWebView *sender,
-        /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BOOL visible) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible( 
-        /* [in] */ IWebView *sender,
-        /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BOOL visible) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable( 
-        /* [in] */ IWebView *sender,
-        /* [retval][out] */ BOOL *resizable) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE setResizable( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BOOL resizable) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE setFrame( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ RECT *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE webViewFrame( 
-        /* [in] */ IWebView *sender,
-        /* [retval][out] */ RECT *frame);
-
-    virtual HRESULT STDMETHODCALLTYPE setContentRect( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ RECT *contentRect) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE webViewContentRect( 
-        /* [in] */ IWebView *sender,
-        /* [retval][out] */ RECT *contentRect) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BSTR message);
-
-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BSTR message,
-        /* [retval][out] */ BOOL *result);
-
-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BSTR message,
-        /* [in] */ BSTR defaultText,
-        /* [retval][out] */ BSTR *result);
-
-    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BSTR message,
-        /* [in] */ IWebFrame *initiatedByFrame,
-        /* [retval][out] */ BOOL *result);
-
-    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebOpenPanelResultListener *resultListener) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IPropertyBag *elementInformation,
-        /* [in] */ UINT modifierFlags) { return E_NOTIMPL; }
-
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(_In_opt_ IWebView* sender, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView**);
+    virtual HRESULT STDMETHODCALLTYPE webViewShow(_In_opt_ IWebView* sender) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewClose(_In_opt_ IWebView* sender);
+    virtual HRESULT STDMETHODCALLTYPE webViewFocus(_In_opt_ IWebView* sender);
+    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(_In_opt_ IWebView* sender);
+    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(_In_opt_ IWebView*, _Out_ HWND*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(_In_opt_ IWebView*, _In_ HWND) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setStatusText(_In_opt_ IWebView* sender, _In_ BSTR text);
+    virtual HRESULT STDMETHODCALLTYPE webViewStatusText(_In_opt_ IWebView* sender, __deref_opt_out BSTR* text) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(_In_opt_ IWebView* sender, _Out_ BOOL* visible) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(_In_opt_ IWebView* sender, BOOL visible) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(_In_opt_ IWebView* sender, _Out_ BOOL* visible) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(_In_opt_ IWebView* sender, BOOL visible) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(_In_opt_ IWebView* sender, _Out_ BOOL *resizable) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setResizable(_In_opt_ IWebView* sender, BOOL resizable) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setFrame(_In_opt_ IWebView* sender, _In_ RECT* frame);
+    virtual HRESULT STDMETHODCALLTYPE webViewFrame(_In_opt_ IWebView* sender, _Out_ RECT* frame);
+    virtual HRESULT STDMETHODCALLTYPE setContentRect(_In_opt_ IWebView* sender, _In_ RECT* contentRect) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewContentRect(_In_opt_ IWebView* sender, _Out_ RECT *contentRect) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(_In_opt_ IWebView* sender, _In_ BSTR message);
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(_In_opt_ IWebView* sender, _In_ BSTR message, _Out_ BOOL *result);
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(_In_opt_ IWebView* sender, _In_ BSTR message, _In_ BSTR defaultText, __deref_opt_out BSTR* result);
+    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(_In_opt_ IWebView* sender, _In_ BSTR message, _In_opt_ IWebFrame* initiatedByFrame, _Out_ BOOL *result);
+    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(_In_opt_ IWebView* sender, _In_opt_ IWebOpenPanelResultListener*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(_In_opt_ IWebView* sender, _In_opt_ IPropertyBag* elementInformation, UINT modifierFlags) { return E_NOTIMPL; }
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(IWebView*, IPropertyBag*, HMENU, HMENU*) { return E_NOTIMPL; }
</span><del>-
-    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ UINT itemCommandID,
-        /* [in] */ BOOL defaultValidation,
-        /* [retval][out] */ BOOL *isValid) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ UINT itemCommandID,
-        /* [in] */ UINT sender) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IDataObject *draggingInfo,
-        /* [retval][out] */ WebDragDestinationAction *action) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ WebDragDestinationAction action,
-        /* [in] */ IDataObject *draggingInfo) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ LPPOINT point,
-        /* [retval][out] */ WebDragSourceAction *action) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ WebDragSourceAction action,
-        /* [in] */ LPPOINT point,
-        /* [in] */ IDataObject *pasteboard,
-        /* [retval][out] */ IDataObject **newPasteboard) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ void *item,
-        /* [in] */ IPropertyBag *element) { return E_NOTIMPL; } 
-        
-    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation( 
-        /* [retval][out] */ BOOL *hasCustomMenus);
-    
-    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(/* [in] */ IWebView* sender, /* [in] */ HMENU, /* [in] */ LPPOINT);
-       
-    virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ void *measureItem) { return E_NOTIMPL; }
-        
-    virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ void *drawItem) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(IWebView*, HMENU) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(IWebView*, HMENU) { return E_NOTIMPL; }
-
-    virtual HRESULT STDMETHODCALLTYPE canTakeFocus( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BOOL forward,
-        /* [out] */ BOOL *result) { return E_NOTIMPL; }
-        
-    virtual HRESULT STDMETHODCALLTYPE takeFocus( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BOOL forward) { return E_NOTIMPL; }
-    
-    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget( 
-        /* [in] */ IWebUndoTarget *target,
-        /* [in] */ BSTR actionName,
-        /* [in] */ IUnknown *actionArg);
-    
-    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget( 
-        /* [in] */ IWebUndoTarget *target);
-    
-    virtual HRESULT STDMETHODCALLTYPE setActionTitle( 
-        /* [in] */ BSTR actionTitle);
-    
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(_In_opt_ IWebView*, UINT itemCommandID, BOOL defaultValidation, _Out_ BOOL *isValid) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(_In_opt_ IWebView*, UINT itemCommandID, UINT sender) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(_In_opt_ IWebView*, _In_opt_ IDataObject* draggingInfo, _Out_ WebDragDestinationAction* action) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(_In_opt_ IWebView*, WebDragDestinationAction action, _In_opt_ IDataObject* draggingInfo) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(_In_opt_ IWebView*, _In_ LPPOINT, _Out_ WebDragSourceAction*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(_In_opt_ IWebView*, WebDragSourceAction, _In_ LPPOINT, _In_opt_ IDataObject* pasteboard, _COM_Outptr_opt_ IDataObject** newPasteboard);
+    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(_In_opt_ IWebView* sender, _In_opt_ void* item, _In_opt_ IPropertyBag* element) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(_Out_ BOOL* hasCustomMenus);
+    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(_In_opt_ IWebView* sender, _In_ HMENU, _In_ LPPOINT);
+    virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem(_In_opt_ IWebView* sender, _In_ void* measureItem) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem(_In_opt_ IWebView* sender, _In_ void* drawItem) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(_In_opt_ IWebView*, HMENU) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(_In_opt_ IWebView*, HMENU) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE canTakeFocus(_In_opt_ IWebView* sender, BOOL forward, _Out_ BOOL* result) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE takeFocus(_In_opt_ IWebView* sender, BOOL forward) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(_In_opt_ IWebUndoTarget*, _In_ BSTR actionName, _In_opt_ IUnknown* actionArg);
+    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(_In_opt_ IWebUndoTarget*);
+    virtual HRESULT STDMETHODCALLTYPE setActionTitle(_In_ BSTR);
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE undo();
</span><del>-    
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE redo();
</span><del>-    
-    virtual HRESULT STDMETHODCALLTYPE canUndo( 
-        /* [retval][out] */ BOOL *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE canRedo( 
-        /* [retval][out] */ BOOL *result);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE canUndo(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE canRedo(_Out_ BOOL* result);
+    virtual HRESULT STDMETHODCALLTYPE printFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(_In_opt_ IWebView*, __deref_opt_out BSTR* path);
+    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(_In_opt_ IWebView*, _Out_ float*);
+    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(_In_opt_ IWebView*, _Out_ float*);
+    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR drawingContext);
+    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR drawingContext, UINT pageIndex, UINT pageCount);
+    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(_In_opt_ IWebView*, _Out_ RECT*);
+    virtual HRESULT STDMETHODCALLTYPE canRunModal(_In_opt_ IWebView*, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE createModalDialog(_In_opt_ IWebView* sender, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView**);
+    virtual HRESULT STDMETHODCALLTYPE runModal(_In_opt_ IWebView*);
+    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(_In_opt_ IWebView*, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(_In_opt_ IWebView*, BOOL);
+    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(_In_opt_ IWebView*, _In_ BSTR displayName, _In_opt_ IWebFrame* initiatedByFrame, _Out_ BOOL* allowed);
+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(_In_opt_ IWebView*, _In_ HDC, RECT, WebScrollBarControlSize, WebScrollbarControlState,
+        WebScrollbarControlPart pressedPart, BOOL vertical, float value, float proportion, WebScrollbarControlPartMask);
+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(_In_opt_ IWebView*, _In_ HDC, RECT);
+    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(_In_opt_ IWebView* sender, _In_opt_ IWebURLRequest*, _In_opt_ IPropertyBag* windowFeatures, _COM_Outptr_opt_ IWebView**);
+    virtual HRESULT STDMETHODCALLTYPE drawBackground(_In_opt_ IWebView* sender, _In_ HDC, _In_ const RECT* dirtyRect);
+    virtual HRESULT STDMETHODCALLTYPE decidePolicyForGeolocationRequest(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*, _In_opt_ IWebSecurityOrigin*, _In_opt_ IWebGeolocationPolicyListener*);
+    virtual HRESULT STDMETHODCALLTYPE didPressMissingPluginButton(_In_opt_ IDOMElement*);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE printFrame( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ IWebFrame *frame);
-    
-    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ BSTR *path);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ float *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ float *result);
-    
-    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(IWebView*, RECT*, ULONG_PTR drawingContext);
-    
-    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(IWebView*, RECT*, ULONG_PTR drawingContext, UINT pageIndex, UINT pageCount);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ RECT *rect);
-    
-    virtual HRESULT STDMETHODCALLTYPE canRunModal( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ BOOL *canRunBoolean);
-    
-    virtual HRESULT STDMETHODCALLTYPE createModalDialog( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebURLRequest *request,
-        /* [retval][out] */ IWebView **newWebView);
-    
-    virtual HRESULT STDMETHODCALLTYPE runModal( 
-        /* [in] */ IWebView *webView);
-    
-    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible( 
-        /* [in] */ IWebView *webView,
-        /* [retval][out] */ BOOL *visible);
-    
-    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BOOL visible);
-    
-    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ BSTR displayName,
-        /* [in] */ IWebFrame *initiatedByFrame,
-        /* [retval][out] */ BOOL *allowed);
-    
-    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);
-    
-    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner( 
-        /* [in] */ IWebView *webView,
-        /* [in] */ HDC hDC,
-        /* [in] */ RECT rect);
-
-    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(IWebView* sender, IWebURLRequest* request, IPropertyBag* windowFeatures, IWebView** newWebView);
-
-    virtual HRESULT STDMETHODCALLTYPE drawBackground(IWebView* sender, HDC, const RECT* dirtyRect);
-
-    virtual HRESULT STDMETHODCALLTYPE decidePolicyForGeolocationRequest(IWebView* sender, IWebFrame* frame, IWebSecurityOrigin* origin, IWebGeolocationPolicyListener* listener);
-
-    virtual HRESULT STDMETHODCALLTYPE didPressMissingPluginButton(IDOMElement*);
-
</del><span class="cx"> protected:
</span><span class="cx">     // IWebUIDelegatePrivate
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused1() { return E_NOTIMPL; }
</span><del>-
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused2() { return E_NOTIMPL; }
</span><del>-    
</del><span class="cx">     virtual HRESULT STDMETHODCALLTYPE unused3() { return E_NOTIMPL; }
</span><del>-    
-    virtual HRESULT STDMETHODCALLTYPE webViewScrolled( 
-        /* [in] */ IWebView *sender) { return E_NOTIMPL; }
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewAddMessageToConsole( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ BSTR message,
-        /* [in] */ int lineNumber,
-        /* [in] */ BSTR url,
-        /* [in] */ BOOL isError);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewShouldInterruptJavaScript(IWebView*, BOOL*) { return E_NOTIMPL; }
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewReceivedFocus( 
-        /* [in] */ IWebView *sender) { return E_NOTIMPL; }
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewLostFocus(IWebView*, HWND) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE webViewScrolled(_In_opt_ IWebView* sender) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewAddMessageToConsole(_In_opt_ IWebView* sender, _In_ BSTR message, int lineNumber, _In_ BSTR url, BOOL isError);
+    virtual HRESULT STDMETHODCALLTYPE webViewShouldInterruptJavaScript(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewReceivedFocus(_In_opt_ IWebView* sender) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewLostFocus(_In_opt_ IWebView*, _In_ HWND) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE doDragDrop(_In_opt_ IWebView* sender, _In_opt_ IDataObject*, _In_opt_ IDropSource*, DWORD okEffect, _Out_ DWORD* performedEffect);
+    virtual HRESULT STDMETHODCALLTYPE webViewGetDlgCode(_In_opt_ IWebView* sender, UINT keyCode, _Out_ LONG_PTR* code);
+    virtual HRESULT STDMETHODCALLTYPE webViewPainted(_In_opt_ IWebView* sender);
+    virtual HRESULT STDMETHODCALLTYPE exceededDatabaseQuota(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*, _In_opt_ IWebSecurityOrigin*, _In_ BSTR databaseIdentifier);
+    virtual HRESULT STDMETHODCALLTYPE embeddedViewWithArguments(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*, _In_opt_ IPropertyBag* arguments, _COM_Outptr_opt_ IWebEmbeddedView**);
+    virtual HRESULT STDMETHODCALLTYPE webViewClosing(_In_opt_ IWebView* sender);
+    virtual HRESULT STDMETHODCALLTYPE webViewSetCursor(_In_opt_ IWebView* sender, _In_ HCURSOR);
+    virtual HRESULT STDMETHODCALLTYPE webViewDidInvalidate(_In_opt_ IWebView* sender);
+    virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate(_COM_Outptr_opt_ IWebDesktopNotificationsDelegate**);
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE doDragDrop( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IDataObject *dataObject,
-        /* [in] */ IDropSource *dropSource,
-        /* [in] */ DWORD okEffect,
-        /* [retval][out] */ DWORD *performedEffect);
</del><ins>+    ULONG m_refCount { 1 };
</ins><span class="cx"> 
</span><del>-    virtual HRESULT STDMETHODCALLTYPE webViewGetDlgCode( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ UINT keyCode,
-        /* [retval][out] */ LONG_PTR *code);
-
-    virtual HRESULT STDMETHODCALLTYPE webViewPainted( 
-        /* [in] */ IWebView *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE exceededDatabaseQuota( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame,
-        /* [in] */ IWebSecurityOrigin *origin,
-        /* [in] */ BSTR databaseIdentifier);
-
-    virtual HRESULT STDMETHODCALLTYPE embeddedViewWithArguments( 
-        /* [in] */ IWebView *sender,
-        /* [in] */ IWebFrame *frame,
-        /* [in] */ IPropertyBag *arguments,
-        /* [retval][out] */ IWebEmbeddedView **view);
-        
-    virtual HRESULT STDMETHODCALLTYPE webViewClosing( 
-        /* [in] */ IWebView *sender);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewSetCursor(IWebView* sender, HCURSOR);
-    
-    virtual HRESULT STDMETHODCALLTYPE webViewDidInvalidate( 
-        /* [in] */ IWebView *sender);
-
-    virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate(
-        /* [out] */ IWebDesktopNotificationsDelegate** result);
-
-    ULONG                   m_refCount;
-
</del><span class="cx"> private:
</span><span class="cx">     RECT m_frame;
</span><span class="cx">     std::unique_ptr&lt;DRTUndoManager&gt; m_undoManager;
</span></span></pre></div>
<a id="trunkToolsWinLauncherAccessibilityDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/AccessibilityDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/AccessibilityDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/AccessibilityDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 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">@@ -34,9 +34,11 @@
</span><span class="cx"> #include &lt;stdio.h&gt;
</span><span class="cx"> #include &lt;wininet.h&gt;
</span><span class="cx"> 
</span><del>-HRESULT AccessibilityDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT AccessibilityDelegate::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">         *ppvObject = static_cast&lt;IAccessibilityDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualIID(riid, IID_IAccessibilityDelegate))
</span><span class="lines">@@ -48,12 +50,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG AccessibilityDelegate::AddRef(void)
</del><ins>+ULONG AccessibilityDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG AccessibilityDelegate::Release(void)
</del><ins>+ULONG AccessibilityDelegate::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="trunkToolsWinLauncherAccessibilityDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/AccessibilityDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/AccessibilityDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/AccessibilityDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2013 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 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">@@ -30,15 +30,15 @@
</span><span class="cx"> 
</span><span class="cx"> class AccessibilityDelegate : public IAccessibilityDelegate {
</span><span class="cx"> public:
</span><del>-    AccessibilityDelegate() : m_refCount(1) { }
-    virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
-    virtual ULONG STDMETHODCALLTYPE AddRef(void);
-    virtual ULONG STDMETHODCALLTYPE Release(void);
</del><ins>+    AccessibilityDelegate() { }
+    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">     virtual HRESULT STDMETHODCALLTYPE fireFrameLoadStartedEvents();
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE fireFrameLoadFinishedEvents();
</span><span class="cx"> private:
</span><del>-    int m_refCount;
</del><ins>+    int m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkToolsWinLauncherCommoncpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/Common.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/Common.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/Common.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx">         &amp;&amp; ::GetLastError() != ERROR_ALREADY_EXISTS)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    std::wstring fileName = directory + L&quot;\\CrashReport.dmp&quot;;
</del><ins>+    std::wstring fileName = std::wstring(static_cast&lt;const wchar_t*&gt;(directory)) + L&quot;\\CrashReport.dmp&quot;;
</ins><span class="cx">     HANDLE miniDumpFile = ::CreateFile(fileName.c_str(), GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
</span><span class="cx"> 
</span><span class="cx">     if (miniDumpFile &amp;&amp; miniDumpFile != INVALID_HANDLE_VALUE) {
</span></span></pre></div>
<a id="trunkToolsWinLauncherDOMDefaultImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/DOMDefaultImpl.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/DOMDefaultImpl.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/DOMDefaultImpl.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</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">  * Copyright (C) 2011 Anthony Johnson. All Rights Reserved.
</span><span class="cx">  * Copyright (C) 2011 Brent Fulgham. All Rights Reserved.
</span><span class="cx">  *
</span><span class="lines">@@ -29,9 +29,11 @@
</span><span class="cx"> #include &quot;DOMDefaultImpl.h&quot;
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><del>-HRESULT 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">@@ -43,12 +45,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG 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 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">@@ -58,9 +60,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // DOMObject -------------------------------------------------------------------
</span><del>-HRESULT 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">@@ -72,9 +76,9 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> // DOMEventListener -------------------------------------------------------------------
</span><del>-HRESULT 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>+    *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">@@ -84,12 +88,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG DOMEventListener::AddRef(void)
</del><ins>+ULONG DOMEventListener::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return WebScriptObject::AddRef();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG DOMEventListener::Release(void)
</del><ins>+ULONG DOMEventListener::Release()
</ins><span class="cx"> {
</span><span class="cx">     return WebScriptObject::Release();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWinLauncherDOMDefaultImplh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/DOMDefaultImpl.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/DOMDefaultImpl.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/DOMDefaultImpl.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2011 Anthony Johnson. All Rights Reserved.
</del><ins>+* Copyright (C) 2015 Apple Inc. All Rights Reserved.
+* Copyright (C) 2011 Anthony Johnson. All Rights Reserved.
</ins><span class="cx">  * Copyright (C) 2011 Brent Fulgham. 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">@@ -31,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> class WebScriptObject : public IWebScriptObject {
</span><span class="cx"> public:
</span><del>-    WebScriptObject() : m_refCount(0)
</del><ins>+    WebScriptObject()
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -40,51 +41,51 @@
</span><span class="cx">     }
</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(BSTR, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(BSTR, const VARIANT[], int, VARIANT*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(BSTR, VARIANT*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(BSTR) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(BSTR*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned int, VARIANT*)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned int, VARIANT)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setException(BSTR)  { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR, __in_ecount(cArgs) const VARIANT[], int cArgs, _Out_ VARIANT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR, _Out_ VARIANT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned, _Out_ VARIANT*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned, VARIANT)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR)  { return E_NOTIMPL; }
</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"> 
</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);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> class DOMEventListener : public DOMObject, public IDOMEventListener {
</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">     // IWebScriptObject
</span><del>-    virtual HRESULT STDMETHODCALLTYPE throwException(BSTR, BOOL*)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(BSTR, const VARIANT[], int, VARIANT*)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(BSTR, VARIANT*)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(BSTR)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(BSTR*)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned int, VARIANT*)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned int, VARIANT)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setException(BSTR) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE throwException(_In_ BSTR, _Out_ BOOL*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(_In_ BSTR, __in_ecount(cArgs) const VARIANT[], int cArgs, _Out_ VARIANT*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(_In_ BSTR, _Out_ VARIANT*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(_In_ BSTR)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE stringRepresentation(__deref_opt_out BSTR*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(unsigned, _Out_ VARIANT*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(unsigned, VARIANT)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setException(_In_ BSTR) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><span class="cx">     // IDOMEventListener
</span><del>-    virtual HRESULT STDMETHODCALLTYPE handleEvent(IDOMEvent*) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE handleEvent(_In_opt_ IDOMEvent*) { return E_NOTIMPL; }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkToolsWinLauncherPageLoadTestClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/PageLoadTestClient.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/PageLoadTestClient.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/PageLoadTestClient.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</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">@@ -36,19 +36,8 @@
</span><span class="cx"> 
</span><span class="cx"> PageLoadTestClient::PageLoadTestClient(WinLauncher* host, bool pageLoadTesting)
</span><span class="cx">     : m_host(host)
</span><del>-    , m_pageLoadEndTime(0)
-    , m_totalTime(0)
-    , m_totalSquareRootsOfTime(0)
-    , m_longestTime(0)
-    , m_geometricMeanProductSum(1.0)
-    , m_frames(0)
-    , m_onLoadEvents(0)
-    , m_currentURLIndex(0)
-    , m_currentRepetition(0)
-    , m_pagesTimed(0)
</del><span class="cx">     , m_repetitions(pageLoadTesting ? 20 : 1)
</span><span class="cx">     , m_waitForLoadToReallyEnd(this, &amp;PageLoadTestClient::endPageLoad)
</span><del>-    , m_currentPageLoadFinished(false)
</del><span class="cx">     , m_pageLoadTesting(pageLoadTesting)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWinLauncherPageLoadTestClienth"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/PageLoadTestClient.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/PageLoadTestClient.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/PageLoadTestClient.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -132,10 +132,10 @@
</span><span class="cx">     void dumpRunStatistics();
</span><span class="cx"> 
</span><span class="cx">     WinLauncher* m_host;
</span><del>-    CFAbsoluteTime m_pageLoadEndTime;
-    CFTimeInterval m_totalTime;
-    CFTimeInterval m_totalSquareRootsOfTime;
-    CFTimeInterval m_longestTime;
</del><ins>+    CFAbsoluteTime m_pageLoadEndTime { 0 };
+    CFTimeInterval m_totalTime { 0 };
+    CFTimeInterval m_totalSquareRootsOfTime { 0 };
+    CFTimeInterval m_longestTime { 0 };
</ins><span class="cx">     Vector&lt;CFAbsoluteTime&gt; m_startTimes;
</span><span class="cx">     Vector&lt;CFAbsoluteTime&gt; m_endTimes;
</span><span class="cx">     HashSet&lt;uint64_t&gt; m_loadingSubresources;
</span><span class="lines">@@ -143,15 +143,15 @@
</span><span class="cx"> #if OS(WINDOWS)
</span><span class="cx">     _bstr_t m_url;
</span><span class="cx"> #endif
</span><del>-    double m_geometricMeanProductSum;
-    unsigned m_frames;
-    unsigned m_onLoadEvents;
-    unsigned m_currentURLIndex;
-    unsigned m_currentRepetition;
-    unsigned m_pagesTimed;
</del><ins>+    double m_geometricMeanProductSum { 1.0 };
+    unsigned m_frames { 0 };
+    unsigned m_onLoadEvents { 0 };
+    unsigned m_currentURLIndex { 0 };
+    unsigned m_currentRepetition { 0 };
+    unsigned m_pagesTimed { 0 };
</ins><span class="cx">     unsigned m_repetitions;
</span><span class="cx"> 
</span><del>-    bool m_currentPageLoadFinished;
</del><ins>+    bool m_currentPageLoadFinished { false };
</ins><span class="cx">     bool m_pageLoadTesting;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWinLauncherPrintWebUIDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/PrintWebUIDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/PrintWebUIDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/PrintWebUIDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009, 2013-2014 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2009, 2013-2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  * Copyright (C) 2009 Brent Fulgham. All Rights Reserved.
</span><span class="cx">  * Copyright (C) 2013 Alex Christensen. All Rights Reserved.
</span><span class="cx">  *
</span><span class="lines">@@ -37,20 +37,23 @@
</span><span class="cx"> 
</span><span class="cx"> static const int MARGIN = 20;
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE PrintWebUIDelegate::runJavaScriptAlertPanelWithMessage(IWebView*, BSTR message)
</del><ins>+HRESULT PrintWebUIDelegate::runJavaScriptAlertPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR message)
</ins><span class="cx"> {
</span><span class="cx">     ::MessageBoxW(0, message, L&quot;JavaScript Alert&quot;, MB_OK);
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE PrintWebUIDelegate::runJavaScriptConfirmPanelWithMessage(IWebView*, BSTR message, BOOL* result)
</del><ins>+HRESULT PrintWebUIDelegate::runJavaScriptConfirmPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR message, _Out_ BOOL* result)
</ins><span class="cx"> {
</span><span class="cx">     *result = ::MessageBoxW(0, message, L&quot;JavaScript Confirm&quot;, MB_OKCANCEL) == IDOK;
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT PrintWebUIDelegate::createWebViewWithRequest(IWebView*, IWebURLRequest* request, IWebView**)
</del><ins>+HRESULT PrintWebUIDelegate::createWebViewWithRequest(_In_opt_ IWebView*, _In_opt_ IWebURLRequest* request, _COM_Outptr_opt_ IWebView** newWebView)
</ins><span class="cx"> {
</span><ins>+    if (!newWebView)
+        return E_POINTER;
+    *newWebView = nullptr;
</ins><span class="cx">     if (!request)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="lines">@@ -78,9 +81,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT PrintWebUIDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT PrintWebUIDelegate::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">         *ppvObject = static_cast&lt;IWebUIDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualIID(riid, IID_IWebUIDelegate))
</span><span class="lines">@@ -92,12 +97,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG PrintWebUIDelegate::AddRef(void)
</del><ins>+ULONG PrintWebUIDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG PrintWebUIDelegate::Release(void)
</del><ins>+ULONG PrintWebUIDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -109,7 +114,7 @@
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebFrame, &amp;__uuidof(IWebFrame)&gt;&gt; IWebFramePtr;
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebFramePrivate, &amp;__uuidof(IWebFramePrivate)&gt;&gt; IWebFramePrivatePtr;
</span><span class="cx"> 
</span><del>-HRESULT PrintWebUIDelegate::webViewPrintingMarginRect(IWebView* view, RECT* rect)
</del><ins>+HRESULT PrintWebUIDelegate::webViewPrintingMarginRect(_In_opt_ IWebView* view, _Out_ RECT* rect)
</ins><span class="cx"> {
</span><span class="cx">     if (!view || !rect)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -134,8 +139,16 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT PrintWebUIDelegate::webViewHeaderHeight(IWebView* webView, float* height)
</del><ins>+HRESULT PrintWebUIDelegate::willPerformDragSourceAction(_In_opt_ IWebView*, WebDragSourceAction, _In_ LPPOINT, _In_opt_ IDataObject*, _COM_Outptr_opt_ IDataObject** result)
</ins><span class="cx"> {
</span><ins>+    if (!result)
+        return E_POINTER;
+    *result = nullptr;
+    return E_NOTIMPL;
+}
+
+HRESULT PrintWebUIDelegate::webViewHeaderHeight(_In_opt_ IWebView* webView, _Out_ float* height)
+{
</ins><span class="cx">     if (!webView || !height)
</span><span class="cx">         return E_POINTER;
</span><span class="cx"> 
</span><span class="lines">@@ -150,7 +163,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT PrintWebUIDelegate::webViewFooterHeight(IWebView* webView, float* height)
</del><ins>+HRESULT PrintWebUIDelegate::webViewFooterHeight(_In_opt_ IWebView* webView, _Out_ float* height)
</ins><span class="cx"> {
</span><span class="cx">     if (!webView || !height)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -166,7 +179,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT PrintWebUIDelegate::drawHeaderInRect(IWebView* webView, RECT* rect, ULONG_PTR drawingContext)
</del><ins>+HRESULT PrintWebUIDelegate::drawHeaderInRect(_In_opt_ IWebView* webView, _In_ RECT* rect, ULONG_PTR drawingContext)
</ins><span class="cx"> {
</span><span class="cx">     if (!webView || !rect)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -195,7 +208,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT PrintWebUIDelegate::drawFooterInRect(IWebView* webView, RECT* rect, ULONG_PTR drawingContext, UINT pageIndex, UINT pageCount)
</del><ins>+HRESULT PrintWebUIDelegate::drawFooterInRect(_In_opt_ IWebView* webView, _In_ RECT* rect, ULONG_PTR drawingContext, UINT pageIndex, UINT pageCount)
</ins><span class="cx"> {
</span><span class="cx">     if (!webView || !rect)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -223,3 +236,11 @@
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><ins>+
+HRESULT PrintWebUIDelegate::createModalDialog(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView** webView)
+{
+    if (!webView)
+        return E_POINTER;
+    *webView = nullptr;
+    return E_NOTIMPL;
+}
</ins></span></pre></div>
<a id="trunkToolsWinLauncherPrintWebUIDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/PrintWebUIDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/PrintWebUIDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/PrintWebUIDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009, 2014 Apple Inc. All Rights Reserved.
</del><ins>+ * Copyright (C) 2009, 2014-2015 Apple Inc. All Rights Reserved.
</ins><span class="cx">  * Copyright (C) 2009 Brent Fulgham. 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">@@ -31,79 +31,79 @@
</span><span class="cx"> 
</span><span class="cx"> class PrintWebUIDelegate : public IWebUIDelegate {
</span><span class="cx"> public:
</span><del>-    PrintWebUIDelegate() : m_refCount(1) {}
</del><ins>+    PrintWebUIDelegate() { }
</ins><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><del>-    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(IWebView*, IWebURLRequest*, IWebView**);
-    virtual HRESULT STDMETHODCALLTYPE webViewShow(IWebView*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewClose(IWebView*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewFocus(IWebView*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(IWebView*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(IWebView*, HWND*)  { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(IWebView*, HWND) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setStatusText(IWebView*, BSTR) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewStatusText(IWebView*, BSTR*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(IWebView*, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(IWebView*, BOOL) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(IWebView*, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(IWebView*, BOOL) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(IWebView*, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setResizable(IWebView*, BOOL) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setFrame(IWebView*, RECT*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewFrame(IWebView*, RECT*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setContentRect(IWebView*, RECT*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewContentRect(IWebView*, RECT*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(IWebView*, BSTR);
-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(IWebView*, BSTR, BOOL*);
-    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(IWebView*, BSTR, BSTR, BSTR*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(IWebView*, BSTR, IWebFrame*, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(IWebView*, IWebOpenPanelResultListener*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(IWebView*, IPropertyBag*, UINT) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(IWebView*, IPropertyBag*, HMENU, HMENU*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(IWebView*, UINT, BOOL, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(IWebView*, UINT, UINT) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(IWebView*, IDataObject*, WebDragDestinationAction*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(IWebView*, WebDragDestinationAction, IDataObject*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(IWebView*, LPPOINT, WebDragSourceAction*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(IWebView*, WebDragSourceAction, LPPOINT, IDataObject*, IDataObject**) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(IWebView*, void*, IPropertyBag*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(IWebView*, HMENU, LPPOINT) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView**);
+    virtual HRESULT STDMETHODCALLTYPE webViewShow(_In_opt_ IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewClose(_In_opt_ IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewFocus(_In_opt_ IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(_In_opt_ IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(_In_opt_ IWebView*, _Out_ HWND*)  { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(_In_opt_ IWebView*, _In_ HWND) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setStatusText(_In_opt_ IWebView*, _In_ BSTR) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewStatusText(_In_opt_ IWebView*, __deref_opt_out BSTR*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setResizable(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setFrame(_In_opt_ IWebView*, _In_ RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewFrame(_In_opt_ IWebView*, _Out_ RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setContentRect(_In_opt_ IWebView*, _In_ RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewContentRect(_In_opt_ IWebView*, _Out_ RECT*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR);
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR, _Out_ BOOL*);
+    virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(_In_opt_ IWebView*, _In_ BSTR, _In_ BSTR, __deref_opt_out BSTR*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(_In_opt_ IWebView*, _In_ BSTR, IWebFrame*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(_In_opt_ IWebView*, _In_opt_ IWebOpenPanelResultListener*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(_In_opt_ IWebView*, _In_opt_ IPropertyBag*, UINT) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(_In_opt_ IWebView*, _In_opt_ IPropertyBag*, _In_ HMENU, _Out_ HMENU*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(_In_opt_ IWebView*, UINT, BOOL, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(_In_opt_ IWebView*, UINT, UINT) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(_In_opt_ IWebView*, _In_opt_ IDataObject*, _In_opt_ WebDragDestinationAction*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(_In_opt_ IWebView*, WebDragDestinationAction, _In_opt_ IDataObject*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(_In_opt_ IWebView*, _In_ LPPOINT, _Out_ WebDragSourceAction*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(_In_opt_ IWebView*, WebDragSourceAction, _In_ LPPOINT, _In_opt_ IDataObject*, _COM_Outptr_opt_ IDataObject**);
+    virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(_In_opt_ IWebView*, void*, IPropertyBag*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(_Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(_In_opt_ IWebView*, _In_ HMENU, _In_ LPPOINT) { return E_NOTIMPL; }
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem(IWebView*, void*) { return E_NOTIMPL; }
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem(IWebView*, void*) { return E_NOTIMPL; }
</span><del>-    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(IWebView*, HMENU) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(IWebView*, HMENU) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE canTakeFocus(IWebView*, BOOL, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE takeFocus(IWebView*, BOOL) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(IWebUndoTarget*, BSTR, IUnknown*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(IWebUndoTarget*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setActionTitle(BSTR) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(_In_opt_ IWebView*, _In_ HMENU) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(_In_opt_ IWebView*, _In_ HMENU) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE canTakeFocus(_In_opt_ IWebView*, BOOL, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE takeFocus(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(_In_opt_ IWebUndoTarget*, _In_ BSTR, _In_opt_ IUnknown*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(_In_opt_ IWebUndoTarget*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setActionTitle(_In_ BSTR) { return E_NOTIMPL; }
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE undo() { return E_NOTIMPL; }
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE redo() { return E_NOTIMPL; }
</span><del>-    virtual HRESULT STDMETHODCALLTYPE canUndo(BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE canRedo(BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE printFrame(IWebView*, IWebFrame *) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(IWebView*, BSTR*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(IWebView*, float*);
-    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(IWebView*, float*);
-    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(IWebView*, RECT*, ULONG_PTR);
-    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(IWebView*, RECT*, ULONG_PTR, UINT, UINT);
-    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(IWebView*, RECT*);
-    virtual HRESULT STDMETHODCALLTYPE canRunModal(IWebView*, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE createModalDialog(IWebView*, IWebURLRequest*, IWebView**) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE runModal(IWebView*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(IWebView*, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(IWebView*, BOOL) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(IWebView*, BSTR, IWebFrame*, BOOL*) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(IWebView*, HDC, RECT, WebScrollBarControlSize, WebScrollbarControlState, WebScrollbarControlPart, BOOL, float, float, WebScrollbarControlPartMask) { return E_NOTIMPL; }
-    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(IWebView*, HDC, RECT) { return E_NOTIMPL; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE canUndo(_Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE canRedo(_Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE printFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(_In_opt_ IWebView*, __deref_opt_out BSTR*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(_In_opt_ IWebView*, _Out_ float*);
+    virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(_In_opt_ IWebView*, _Out_ float*);
+    virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR);
+    virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(_In_opt_ IWebView*, _In_ RECT*, ULONG_PTR, UINT, UINT);
+    virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(_In_opt_ IWebView*, _Out_ RECT*);
+    virtual HRESULT STDMETHODCALLTYPE canRunModal(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE createModalDialog(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _COM_Outptr_opt_ IWebView**);
+    virtual HRESULT STDMETHODCALLTYPE runModal(_In_opt_ IWebView*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(_In_opt_ IWebView*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(_In_opt_ IWebView*, BOOL) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(_In_opt_ IWebView*, _In_ BSTR, _In_opt_ IWebFrame*, _Out_ BOOL*) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(_In_opt_ IWebView*, _In_ HDC, RECT, WebScrollBarControlSize, WebScrollbarControlState, WebScrollbarControlPart, BOOL, float, float, WebScrollbarControlPartMask) { return E_NOTIMPL; }
+    virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(_In_opt_ IWebView*, _In_ HDC, RECT) { return E_NOTIMPL; }
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    int m_refCount;
</del><ins>+    int m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkToolsWinLauncherResourceLoadDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/ResourceLoadDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/ResourceLoadDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/ResourceLoadDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</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">@@ -35,9 +35,11 @@
</span><span class="cx"> #include &lt;shlwapi.h&gt;
</span><span class="cx"> #include &lt;wininet.h&gt;
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT ResourceLoadDelegate::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">         *ppvObject = static_cast&lt;IWebResourceLoadDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualIID(riid, IID_IWebResourceLoadDelegate))
</span><span class="lines">@@ -49,12 +51,12 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG ResourceLoadDelegate::AddRef(void)
</del><ins>+ULONG ResourceLoadDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     return ++m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG ResourceLoadDelegate::Release(void)
</del><ins>+ULONG ResourceLoadDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     ULONG newRef = --m_refCount;
</span><span class="cx">     if (!newRef)
</span><span class="lines">@@ -63,7 +65,7 @@
</span><span class="cx">     return newRef;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::identifierForInitialRequest(IWebView*, IWebURLRequest*, IWebDataSource*, unsigned long identifier)
</del><ins>+HRESULT ResourceLoadDelegate::identifierForInitialRequest(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _In_opt_ IWebDataSource*, unsigned long identifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -73,32 +75,35 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::willSendRequest(IWebView*, unsigned long, IWebURLRequest*, IWebURLResponse*, IWebDataSource*, IWebURLRequest**)
</del><ins>+HRESULT ResourceLoadDelegate::willSendRequest(_In_opt_ IWebView*, unsigned long, _In_opt_ IWebURLRequest*, _In_opt_ IWebURLResponse*, _In_opt_ IWebDataSource*, _COM_Outptr_opt_ IWebURLRequest** 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 ResourceLoadDelegate::didReceiveAuthenticationChallenge(IWebView*, unsigned long, IWebURLAuthenticationChallenge*, IWebDataSource*)
</del><ins>+HRESULT ResourceLoadDelegate::didReceiveAuthenticationChallenge(_In_opt_ IWebView*, unsigned long, _In_opt_ IWebURLAuthenticationChallenge*, _In_opt_ IWebDataSource*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didCancelAuthenticationChallenge(IWebView*, unsigned long, IWebURLAuthenticationChallenge*, IWebDataSource*)
</del><ins>+HRESULT ResourceLoadDelegate::didCancelAuthenticationChallenge(_In_opt_ IWebView*, unsigned long, _In_opt_ IWebURLAuthenticationChallenge*, _In_opt_ IWebDataSource*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didReceiveResponse(IWebView*, unsigned long, IWebURLResponse*, IWebDataSource*)
</del><ins>+HRESULT ResourceLoadDelegate::didReceiveResponse(_In_opt_ IWebView*, unsigned long, _In_opt_ IWebURLResponse*, _In_opt_ IWebDataSource*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didReceiveContentLength(IWebView*, unsigned long, UINT, IWebDataSource*)
</del><ins>+HRESULT ResourceLoadDelegate::didReceiveContentLength(_In_opt_ IWebView*, unsigned long, UINT, _In_opt_ IWebDataSource*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didFinishLoadingFromDataSource(IWebView*, unsigned long identifier, IWebDataSource*)
</del><ins>+HRESULT ResourceLoadDelegate::didFinishLoadingFromDataSource(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebDataSource*)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -108,7 +113,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::didFailLoadingWithError(IWebView*, unsigned long identifier, IWebError*, IWebDataSource*)
</del><ins>+HRESULT ResourceLoadDelegate::didFailLoadingWithError(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebError*, _In_opt_ IWebDataSource*)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -118,7 +123,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT ResourceLoadDelegate::plugInFailedWithError(IWebView*, IWebError*, IWebDataSource*)
</del><ins>+HRESULT ResourceLoadDelegate::plugInFailedWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebDataSource*)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWinLauncherResourceLoadDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/ResourceLoadDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/ResourceLoadDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/ResourceLoadDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</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">@@ -33,27 +33,27 @@
</span><span class="cx"> class ResourceLoadDelegate : public IWebResourceLoadDelegate {
</span><span class="cx"> public:
</span><span class="cx">     ResourceLoadDelegate(WinLauncher* client)
</span><del>-        : m_refCount(1), m_client(client) { }
</del><ins>+        : m_client(client) { }
</ins><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">     // IWebResourceLoadDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE identifierForInitialRequest(IWebView*, IWebURLRequest*, IWebDataSource*, unsigned long identifier);
-    virtual HRESULT STDMETHODCALLTYPE willSendRequest(IWebView*, unsigned long identifier, IWebURLRequest*, IWebURLResponse* redirectResponse, IWebDataSource*, IWebURLRequest** newRequest);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge(IWebView*, unsigned long identifier, IWebURLAuthenticationChallenge*, IWebDataSource*);
-    virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge(IWebView*, unsigned long identifier, IWebURLAuthenticationChallenge*, IWebDataSource*);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveResponse(IWebView*, unsigned long identifier, IWebURLResponse*, IWebDataSource*);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveContentLength(IWebView*, unsigned long identifier, UINT length, IWebDataSource*);
-    virtual HRESULT STDMETHODCALLTYPE didFinishLoadingFromDataSource(IWebView*, unsigned long identifier, IWebDataSource*);
-    virtual HRESULT STDMETHODCALLTYPE didFailLoadingWithError(IWebView*, unsigned long identifier, IWebError*, IWebDataSource*);
-    virtual HRESULT STDMETHODCALLTYPE plugInFailedWithError(IWebView*, IWebError*, IWebDataSource*);
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE identifierForInitialRequest(_In_opt_ IWebView*, _In_opt_ IWebURLRequest*, _In_opt_ IWebDataSource*, unsigned long identifier);
+    virtual HRESULT STDMETHODCALLTYPE willSendRequest(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLRequest*, _In_opt_ IWebURLResponse* redirectResponse, _In_opt_ IWebDataSource*, _COM_Outptr_opt_ IWebURLRequest** newRequest);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLAuthenticationChallenge*, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLAuthenticationChallenge*, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveResponse(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebURLResponse*, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveContentLength(_In_opt_ IWebView*, unsigned long identifier, UINT length, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE didFinishLoadingFromDataSource(_In_opt_ IWebView*, unsigned long identifier, _In_opt_  IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE didFailLoadingWithError(_In_opt_ IWebView*, unsigned long identifier, _In_opt_ IWebError*, _In_opt_ IWebDataSource*);
+    virtual HRESULT STDMETHODCALLTYPE plugInFailedWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebDataSource*);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     WinLauncher* m_client;
</span><del>-    int m_refCount;
</del><ins>+    int m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // ResourceLoadDelegate
</span></span></pre></div>
<a id="trunkToolsWinLauncherWebDownloadDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WebDownloadDelegate.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WebDownloadDelegate.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/WebDownloadDelegate.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -29,7 +29,6 @@
</span><span class="cx"> #include &lt;shlobj.h&gt;
</span><span class="cx"> 
</span><span class="cx"> WebDownloadDelegate::WebDownloadDelegate()
</span><del>-    : m_refCount(1)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -37,9 +36,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WebDownloadDelegate::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"> 
</span><span class="cx">     if (IsEqualGUID(riid, IID_IUnknown))
</span><span class="cx">         *ppvObject = static_cast&lt;IWebDownloadDelegate*&gt;(this);
</span><span class="lines">@@ -52,13 +53,13 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDownloadDelegate::AddRef(void)
</del><ins>+ULONG WebDownloadDelegate::AddRef()
</ins><span class="cx"> {
</span><span class="cx">     m_refCount++;
</span><span class="cx">     return m_refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ULONG STDMETHODCALLTYPE WebDownloadDelegate::Release(void)
</del><ins>+ULONG WebDownloadDelegate::Release()
</ins><span class="cx"> {
</span><span class="cx">     m_refCount--;
</span><span class="cx">     int refCount = m_refCount;
</span><span class="lines">@@ -67,8 +68,11 @@
</span><span class="cx">     return refCount;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::decideDestinationWithSuggestedFilename(IWebDownload* download, BSTR filename)
</del><ins>+HRESULT WebDownloadDelegate::decideDestinationWithSuggestedFilename(_In_opt_ IWebDownload* download, _In_ BSTR filename)
</ins><span class="cx"> {
</span><ins>+    if (!download)
+        return E_POINTER;
+
</ins><span class="cx">     wchar_t desktopDirectory[MAX_PATH];
</span><span class="cx">     if (FAILED(SHGetFolderPathW(0, CSIDL_DESKTOP, 0, 0, desktopDirectory)))
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -82,60 +86,73 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didCancelAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT WebDownloadDelegate::didCancelAuthenticationChallenge(_In_opt_ IWebDownload* download, _In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didCreateDestination(IWebDownload* download, BSTR destination)
</del><ins>+HRESULT WebDownloadDelegate::didCreateDestination(_In_opt_ IWebDownload* download, _In_ BSTR destination)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didFailWithError(IWebDownload* download, IWebError* error)
</del><ins>+HRESULT WebDownloadDelegate::didFailWithError(_In_opt_ IWebDownload* download, _In_opt_ IWebError* error)
</ins><span class="cx"> {
</span><ins>+    if (!download)
+        return E_POINTER;
+
</ins><span class="cx">     download-&gt;Release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didReceiveAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge)
</del><ins>+HRESULT WebDownloadDelegate::didReceiveAuthenticationChallenge(_In_opt_ IWebDownload* download, _In_opt_ IWebURLAuthenticationChallenge* challenge)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didReceiveDataOfLength(IWebDownload* download, unsigned length)
</del><ins>+HRESULT WebDownloadDelegate::didReceiveDataOfLength(_In_opt_ IWebDownload* download, unsigned length)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didReceiveResponse(IWebDownload* download, IWebURLResponse* response)
</del><ins>+HRESULT WebDownloadDelegate::didReceiveResponse(_In_opt_ IWebDownload* download, _In_opt_ IWebURLResponse* response)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::shouldDecodeSourceDataOfMIMEType(IWebDownload* download, BSTR encodingType, BOOL* shouldDecode)
</del><ins>+HRESULT WebDownloadDelegate::shouldDecodeSourceDataOfMIMEType(_In_opt_ IWebDownload* download, _In_ BSTR encodingType, _Out_ BOOL* shouldDecode)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::willResumeWithResponse(IWebDownload* download, IWebURLResponse* response, long long fromByte)
</del><ins>+HRESULT WebDownloadDelegate::willResumeWithResponse(_In_opt_ IWebDownload* download, _In_opt_ IWebURLResponse* response, long long fromByte)
</ins><span class="cx"> {
</span><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::willSendRequest(IWebDownload* download, IWebMutableURLRequest* request, IWebURLResponse* redirectResponse, IWebMutableURLRequest** finalRequest)
</del><ins>+HRESULT WebDownloadDelegate::willSendRequest(_In_opt_ IWebDownload* download, _In_opt_ IWebMutableURLRequest* request,
+    _In_opt_ IWebURLResponse* redirectResponse, _COM_Outptr_opt_ IWebMutableURLRequest** finalRequest)
</ins><span class="cx"> {
</span><ins>+    if (!finalRequest)
+        return E_POINTER;
+    *finalRequest = nullptr;
</ins><span class="cx">     return E_NOTIMPL;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didBegin(IWebDownload* download)
</del><ins>+HRESULT WebDownloadDelegate::didBegin(_In_opt_ IWebDownload* download)
</ins><span class="cx"> {
</span><ins>+    if (!download)
+        return E_POINTER;
+
</ins><span class="cx">     download-&gt;AddRef();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebDownloadDelegate::didFinish(IWebDownload* download)
</del><ins>+HRESULT WebDownloadDelegate::didFinish(_In_opt_ IWebDownload* download)
</ins><span class="cx"> {
</span><ins>+    if (!download)
+        return E_POINTER;
+
</ins><span class="cx">     download-&gt;Release();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWinLauncherWebDownloadDelegateh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WebDownloadDelegate.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WebDownloadDelegate.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/WebDownloadDelegate.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -34,25 +34,25 @@
</span><span class="cx">     WebDownloadDelegate();
</span><span class="cx">     virtual ~WebDownloadDelegate();
</span><span class="cx"> 
</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><del>-    virtual HRESULT STDMETHODCALLTYPE decideDestinationWithSuggestedFilename(IWebDownload*, BSTR filename);
-    virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge(IWebDownload*, IWebURLAuthenticationChallenge*);
-    virtual HRESULT STDMETHODCALLTYPE didCreateDestination(IWebDownload*, BSTR destination);
-    virtual HRESULT STDMETHODCALLTYPE didFailWithError(IWebDownload*, IWebError*);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge(IWebDownload*, IWebURLAuthenticationChallenge*);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveDataOfLength(IWebDownload*, unsigned length);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveResponse(IWebDownload*, IWebURLResponse*);
-    virtual HRESULT STDMETHODCALLTYPE shouldDecodeSourceDataOfMIMEType(IWebDownload*, BSTR encodingType, BOOL* shouldDecode);
-    virtual HRESULT STDMETHODCALLTYPE willResumeWithResponse(IWebDownload*, IWebURLResponse*, long long fromByte);
-    virtual HRESULT STDMETHODCALLTYPE willSendRequest(IWebDownload*, IWebMutableURLRequest*, IWebURLResponse* redirectResponse, IWebMutableURLRequest** finalRequest);
-    virtual HRESULT STDMETHODCALLTYPE didBegin(IWebDownload*);
-    virtual HRESULT STDMETHODCALLTYPE didFinish(IWebDownload*);
</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"> private:
</span><del>-    int m_refCount;
</del><ins>+    int m_refCount { 1 };
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkToolsWinLauncherWinLauncherWebHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinLauncherWebHost.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinLauncherWebHost.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/WinLauncherWebHost.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2008, 2013-2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006, 2008, 2013-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  * Copyright (C) 2009, 2011 Brent Fulgham.  All rights reserved.
</span><span class="cx">  * Copyright (C) 2009, 2010, 2011 Appcelerator, Inc. All rights reserved.
</span><span class="cx">  * Copyright (C) 2013 Alex Christensen. All rights reserved.
</span><span class="lines">@@ -64,24 +64,24 @@
</span><span class="cx">     IWebFramePtr mainFrame;
</span><span class="cx">     HRESULT hr = webView.mainFrame(&amp;mainFrame.GetInterfacePtr());
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return hr;
</ins><span class="cx"> 
</span><span class="cx">     IWebDataSourcePtr dataSource;
</span><span class="cx">     hr = mainFrame-&gt;dataSource(&amp;dataSource.GetInterfacePtr());
</span><span class="cx">     if (FAILED(hr) || !dataSource)
</span><span class="cx">         hr = mainFrame-&gt;provisionalDataSource(&amp;dataSource.GetInterfacePtr());
</span><span class="cx">     if (FAILED(hr) || !dataSource)
</span><del>-        return 0;
</del><ins>+        return hr;
</ins><span class="cx"> 
</span><span class="cx">     IWebMutableURLRequestPtr request;
</span><span class="cx">     hr = dataSource-&gt;request(&amp;request.GetInterfacePtr());
</span><span class="cx">     if (FAILED(hr) || !request)
</span><del>-        return 0;
</del><ins>+        return hr;
</ins><span class="cx"> 
</span><span class="cx">     _bstr_t frameURL;
</span><span class="cx">     hr = request-&gt;mainDocumentURL(frameURL.GetAddress());
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return hr;
</ins><span class="cx"> 
</span><span class="cx">     if (frameURL.length()) {
</span><span class="cx">         m_client-&gt;pageLoadTestClient().setPageURL(frameURL);
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx"> 
</span><span class="cx">     loadURL(frameURL);
</span><span class="cx"> 
</span><del>-    return 0;
</del><ins>+    return S_OK;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WinLauncherWebHost::loadURL(_bstr_t&amp; url)
</span><span class="lines">@@ -98,10 +98,12 @@
</span><span class="cx">     ::SendMessage(m_hURLBarWnd, static_cast&lt;UINT&gt;(WM_SETTEXT), 0, reinterpret_cast&lt;LPARAM&gt;(url.GetBSTR()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WinLauncherWebHost::didFailProvisionalLoadWithError(IWebView*, IWebError *error, IWebFrame*)
</del><ins>+HRESULT WinLauncherWebHost::didFailProvisionalLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError *error, _In_opt_ IWebFrame*)
</ins><span class="cx"> {
</span><span class="cx">     _bstr_t errorDescription;
</span><del>-    HRESULT hr = error-&gt;localizedDescription(errorDescription.GetAddress());
</del><ins>+    HRESULT hr = E_POINTER;
+    if (error)
+        hr = error-&gt;localizedDescription(errorDescription.GetAddress());
</ins><span class="cx">     if (FAILED(hr))
</span><span class="cx">         errorDescription = L&quot;Failed to load page and to localize error description.&quot;;
</span><span class="cx"> 
</span><span class="lines">@@ -111,9 +113,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WinLauncherWebHost::QueryInterface(REFIID riid, void** ppvObject)
</del><ins>+HRESULT WinLauncherWebHost::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;IWebFrameLoadDelegate*&gt;(this);
</span><span class="cx">     else if (IsEqualGUID(riid, IID_IWebFrameLoadDelegate))
</span><span class="lines">@@ -144,7 +148,7 @@
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IDOMEventTarget, &amp;__uuidof(IDOMEventTarget)&gt;&gt; IDOMEventTargetPtr;
</span><span class="cx"> typedef _com_ptr_t&lt;_com_IIID&lt;IWebFrame2, &amp;__uuidof(IWebFrame2)&gt;&gt; IWebFrame2Ptr;
</span><span class="cx"> 
</span><del>-HRESULT WinLauncherWebHost::didFinishLoadForFrame(IWebView* webView, IWebFrame* frame)
</del><ins>+HRESULT WinLauncherWebHost::didFinishLoadForFrame(_In_opt_ IWebView* webView, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame || !webView)
</span><span class="cx">         return E_POINTER;
</span><span class="lines">@@ -183,7 +187,7 @@
</span><span class="cx">     return hr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WinLauncherWebHost::didStartProvisionalLoadForFrame(IWebView*, IWebFrame* frame)
</del><ins>+HRESULT WinLauncherWebHost::didStartProvisionalLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame)
</span><span class="cx">         return E_FAIL;
</span><span class="lines">@@ -192,30 +196,30 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WinLauncherWebHost::didFailLoadWithError(IWebView*, IWebError*, IWebFrame*)
</del><ins>+HRESULT WinLauncherWebHost::didFailLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebFrame*)
</ins><span class="cx"> {
</span><span class="cx">     m_client-&gt;pageLoadTestClient().didFailLoad();
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WinLauncherWebHost::didHandleOnloadEventsForFrame(IWebView* sender, IWebFrame* frame)
</del><ins>+HRESULT WinLauncherWebHost::didHandleOnloadEventsForFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     IWebDataSourcePtr dataSource;
</span><span class="cx">     HRESULT hr = frame-&gt;dataSource(&amp;dataSource.GetInterfacePtr());
</span><span class="cx">     if (FAILED(hr) || !dataSource)
</span><span class="cx">         hr = frame-&gt;provisionalDataSource(&amp;dataSource.GetInterfacePtr());
</span><span class="cx">     if (FAILED(hr) || !dataSource)
</span><del>-        return 0;
</del><ins>+        return hr;
</ins><span class="cx"> 
</span><span class="cx">     IWebMutableURLRequestPtr request;
</span><span class="cx">     hr = dataSource-&gt;request(&amp;request.GetInterfacePtr());
</span><span class="cx">     if (FAILED(hr) || !request)
</span><del>-        return 0;
</del><ins>+        return hr;
</ins><span class="cx"> 
</span><span class="cx">     _bstr_t frameURL;
</span><span class="cx">     hr = request-&gt;mainDocumentURL(frameURL.GetAddress());
</span><span class="cx">     if (FAILED(hr))
</span><del>-        return 0;
</del><ins>+        return hr;
</ins><span class="cx"> 
</span><span class="cx">     if (frameURL.length())
</span><span class="cx">         m_client-&gt;pageLoadTestClient().didHandleOnLoadEvents();
</span><span class="lines">@@ -223,7 +227,7 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WinLauncherWebHost::didFirstLayoutInFrame(IWebView*, IWebFrame* frame)
</del><ins>+HRESULT WinLauncherWebHost::didFirstLayoutInFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame* frame)
</ins><span class="cx"> {
</span><span class="cx">     if (!frame)
</span><span class="cx">         return E_POINTER;
</span></span></pre></div>
<a id="trunkToolsWinLauncherWinLauncherWebHosth"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinLauncherWebHost.h (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinLauncherWebHost.h        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/WinLauncherWebHost.h        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -33,18 +33,18 @@
</span><span class="cx"> class WinLauncherWebHost : public IWebFrameLoadDelegate, public IWebFrameLoadDelegatePrivate {
</span><span class="cx"> public:
</span><span class="cx">     WinLauncherWebHost(WinLauncher* client, HWND urlBar)
</span><del>-        : m_refCount(1), m_client(client), m_hURLBarWnd(urlBar) { }
</del><ins>+        : m_client(client), m_hURLBarWnd(urlBar) { }
</ins><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">     // IWebFrameLoadDelegate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didStartProvisionalLoadForFrame(IWebView*, IWebFrame*);
-    virtual HRESULT STDMETHODCALLTYPE didReceiveServerRedirectForProvisionalLoadForFrame(IWebView*, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE didFailProvisionalLoadWithError(IWebView*, IWebError*, IWebFrame*);
-    virtual HRESULT STDMETHODCALLTYPE didCommitLoadForFrame(IWebView* webView, IWebFrame*)
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didStartProvisionalLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didReceiveServerRedirectForProvisionalLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE didFailProvisionalLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didCommitLoadForFrame(_In_opt_ IWebView* webView, _In_opt_ IWebFrame*)
</ins><span class="cx">     {
</span><span class="cx">         if (!webView)
</span><span class="cx">             return E_POINTER;
</span><span class="lines">@@ -52,23 +52,23 @@
</span><span class="cx">         return updateAddressBar(*webView);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didReceiveTitle(IWebView*, BSTR title, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE didChangeIcons(IWebView*, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE didReceiveIcon(IWebView*, HBITMAP, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE didFinishLoadForFrame(IWebView*, IWebFrame*);   
-    virtual HRESULT STDMETHODCALLTYPE didFailLoadWithError(IWebView*, IWebError*, IWebFrame*);
-    virtual HRESULT STDMETHODCALLTYPE didChangeLocationWithinPageForFrame(IWebView*, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE willPerformClientRedirectToURL(IWebView*, BSTR url, double delaySeconds, DATE fireDate, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE didCancelClientRedirectForFrame(IWebView*, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE willCloseFrame(IWebView*, IWebFrame*) { return S_OK; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didReceiveTitle(_In_opt_ IWebView*, _In_ BSTR title, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE didChangeIcons(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE didReceiveIcon(_In_opt_ IWebView*, _In_ HBITMAP, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE didFinishLoadForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didFailLoadWithError(_In_opt_ IWebView*, _In_opt_ IWebError*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didChangeLocationWithinPageForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE willPerformClientRedirectToURL(_In_opt_ IWebView*, _In_ BSTR url, double delaySeconds, DATE fireDate, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE didCancelClientRedirectForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE willCloseFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*) { return S_OK; }
</ins><span class="cx">     virtual /* [local] */ HRESULT STDMETHODCALLTYPE windowScriptObjectAvailable(IWebView*, JSContextRef, JSObjectRef)  { return S_OK; }
</span><span class="cx">     virtual /* [local] */ HRESULT STDMETHODCALLTYPE didClearWindowObject(IWebView*, JSContextRef, JSObjectRef, IWebFrame*) { return S_OK; }
</span><span class="cx"> 
</span><span class="cx">     // IWebFrameLoadDelegatePrivate
</span><del>-    virtual HRESULT STDMETHODCALLTYPE didFinishDocumentLoadForFrame(IWebView* sender, IWebFrame*) { return S_OK; }
-    virtual HRESULT STDMETHODCALLTYPE didFirstLayoutInFrame(IWebView* sender, IWebFrame*);
-    virtual HRESULT STDMETHODCALLTYPE didHandleOnloadEventsForFrame(IWebView*, IWebFrame*);
-    virtual HRESULT STDMETHODCALLTYPE didFirstVisuallyNonEmptyLayoutInFrame(IWebView* sender, IWebFrame*)  { return S_OK; }
</del><ins>+    virtual HRESULT STDMETHODCALLTYPE didFinishDocumentLoadForFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*) { return S_OK; }
+    virtual HRESULT STDMETHODCALLTYPE didFirstLayoutInFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didHandleOnloadEventsForFrame(_In_opt_ IWebView*, _In_opt_ IWebFrame*);
+    virtual HRESULT STDMETHODCALLTYPE didFirstVisuallyNonEmptyLayoutInFrame(_In_opt_ IWebView* sender, _In_opt_ IWebFrame*)  { return S_OK; }
</ins><span class="cx"> 
</span><span class="cx">     void loadURL(_bstr_t&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -79,6 +79,6 @@
</span><span class="cx">     HWND m_hURLBarWnd { 0 };
</span><span class="cx">     HGDIOBJ m_URLBarFont { 0 };
</span><span class="cx">     HGDIOBJ m_oldFont { 0 };
</span><del>-    ULONG m_refCount { 0 };
</del><ins>+    ULONG m_refCount { 1 };
</ins><span class="cx">     WinLauncher* m_client { nullptr };
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkToolsWinLauncherWinMaincpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WinLauncher/WinMain.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WinLauncher/WinMain.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/WinLauncher/WinMain.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2006, 2008, 2013, 2014 Apple Inc.  All rights reserved.
</del><ins>+ * Copyright (C) 2006, 2008, 2013-2015 Apple Inc.  All rights reserved.
</ins><span class="cx">  * Copyright (C) 2009, 2011 Brent Fulgham.  All rights reserved.
</span><span class="cx">  * Copyright (C) 2009, 2010, 2011 Appcelerator, Inc. All rights reserved.
</span><span class="cx">  * Copyright (C) 2013 Alex Christensen. All rights reserved.
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> float deviceScaleFactorForWindow(HWND);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int WINAPI wWinMain(HINSTANCE, HINSTANCE, PWSTR, int nCmdShow)
</del><ins>+int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpstrCmdLine, _In_ int nCmdShow)
</ins><span class="cx"> {
</span><span class="cx"> #ifdef _CRTDBG_MAP_ALLOC
</span><span class="cx">     _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
</span></span></pre></div>
<a id="trunkToolswinDLLLauncherDLLLauncherMaincpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp (188708 => 188709)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp        2015-08-20 22:07:59 UTC (rev 188708)
+++ trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp        2015-08-20 22:11:17 UTC (rev 188709)
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx"> #if USE_CONSOLE_ENTRY_POINT
</span><span class="cx"> int main(int argc, const char* argv[])
</span><span class="cx"> #else
</span><del>-int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpstrCmdLine, int nCmdShow)
</del><ins>+int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpstrCmdLine, _In_ int nCmdShow)
</ins><span class="cx"> #endif
</span><span class="cx"> {
</span><span class="cx"> #if defined(_M_X64) || defined(__x86_64__)
</span></span></pre>
</div>
</div>

</body>
</html>