<!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>[204429] trunk/Source</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/204429">204429</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2016-08-12 15:53:27 -0700 (Fri, 12 Aug 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Rename DocumentLoadTiming and ResourceLoadTiming
https://bugs.webkit.org/show_bug.cgi?id=160821
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-12
Reviewed by Alex Christensen.
Source/WebCore:
Renames ResourceLoadTiming to NetworkLoadTiming.
Renames DocumentLoadTiming to LoadTiming as well as
navigationStart() to startTime(), so it's generic for
both the main resource and subresources.
* CMakeLists.txt:
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::from):
* PlatformMac.cmake:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorNetworkAgent.cpp:
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceResponse):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::timing):
(WebCore::DocumentLoader::resetTiming):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchUnloadEvents):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
* loader/LoadTiming.cpp: Renamed from Source/WebCore/loader/DocumentLoadTiming.cpp.
(WebCore::LoadTiming::LoadTiming):
(WebCore::LoadTiming::monotonicTimeToZeroBasedDocumentTime):
(WebCore::LoadTiming::monotonicTimeToPseudoWallTime):
(WebCore::LoadTiming::markStartTime):
(WebCore::LoadTiming::addRedirect):
* loader/LoadTiming.h: Renamed from Source/WebCore/loader/DocumentLoadTiming.h.
(WebCore::LoadTiming::markUnloadEventStart):
(WebCore::LoadTiming::markUnloadEventEnd):
(WebCore::LoadTiming::markRedirectStart):
(WebCore::LoadTiming::markRedirectEnd):
(WebCore::LoadTiming::markFetchStart):
(WebCore::LoadTiming::setResponseEnd):
(WebCore::LoadTiming::markLoadEventStart):
(WebCore::LoadTiming::markLoadEventEnd):
(WebCore::LoadTiming::setHasSameOriginAsPreviousDocument):
(WebCore::LoadTiming::startTime):
(WebCore::LoadTiming::unloadEventStart):
(WebCore::LoadTiming::unloadEventEnd):
(WebCore::LoadTiming::redirectStart):
(WebCore::LoadTiming::redirectEnd):
(WebCore::LoadTiming::redirectCount):
(WebCore::LoadTiming::fetchStart):
(WebCore::LoadTiming::responseEnd):
(WebCore::LoadTiming::loadEventStart):
(WebCore::LoadTiming::loadEventEnd):
(WebCore::LoadTiming::hasCrossOriginRedirect):
(WebCore::LoadTiming::hasSameOriginAsPreviousDocument):
(WebCore::LoadTiming::referenceMonotonicTime):
(WebCore::LoadTiming::referenceWallTime):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent):
* page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::redirectCount):
* page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
* page/PerformanceResourceTiming.h:
* page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::loadTiming):
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):
* page/PerformanceTiming.h:
* platform/network/NetworkLoadTiming.h: Renamed from Source/WebCore/platform/network/ResourceLoadTiming.h.
(WebCore::NetworkLoadTiming::NetworkLoadTiming):
(WebCore::NetworkLoadTiming::operator=):
(WebCore::NetworkLoadTiming::isolatedCopy):
(WebCore::NetworkLoadTiming::operator==):
(WebCore::NetworkLoadTiming::operator!=):
(WebCore::NetworkLoadTiming::encode):
(WebCore::NetworkLoadTiming::decode):
* platform/network/ResourceHandle.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::compare):
* platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::networkLoadTiming):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
* platform/network/cocoa/NetworkLoadTiming.mm: Renamed from Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm.
(WebCore::timingValue):
(WebCore::copyTimingData):
(WebCore::setCollectsTimingData):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::calculateWebTimingInformations):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::sendRequestCallback):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
Source/WebKit2:
Rename ResourceLoadTiming to NetworkLoadTiming.
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesgamepadNavigatorGamepadcpp">trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp</a></li>
<li><a href="#trunkSourceWebCorePlatformMaccmake">trunk/Source/WebCore/PlatformMac.cmake</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorNetworkAgentcpp">trunk/Source/WebCore/inspector/InspectorNetworkAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoaderh">trunk/Source/WebCore/loader/DocumentLoader.h</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowcpp">trunk/Source/WebCore/page/DOMWindow.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceNavigationcpp">trunk/Source/WebCore/page/PerformanceNavigation.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceResourceTimingcpp">trunk/Source/WebCore/page/PerformanceResourceTiming.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceResourceTimingh">trunk/Source/WebCore/page/PerformanceResourceTiming.h</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceTimingcpp">trunk/Source/WebCore/page/PerformanceTiming.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceTimingh">trunk/Source/WebCore/page/PerformanceTiming.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceHandleh">trunk/Source/WebCore/platform/network/ResourceHandle.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceResponseBasecpp">trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceResponseBaseh">trunk/Source/WebCore/platform/network/ResourceResponseBase.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfResourceHandleCFURLConnectionDelegateWithOperationQueuecpp">trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfSynchronousResourceHandleCFURLConnectionDelegatecpp">trunk/Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlResourceHandleManagercpp">trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacResourceHandleMacmm">trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacWebCoreResourceHandleAsDelegatemm">trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacWebCoreResourceHandleAsOperationQueueDelegatemm">trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp">trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcesscocoaNetworkSessionCocoamm">trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreloaderLoadTimingcpp">trunk/Source/WebCore/loader/LoadTiming.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderLoadTimingh">trunk/Source/WebCore/loader/LoadTiming.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkNetworkLoadTimingh">trunk/Source/WebCore/platform/network/NetworkLoadTiming.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaNetworkLoadTimingmm">trunk/Source/WebCore/platform/network/cocoa/NetworkLoadTiming.mm</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadTimingcpp">trunk/Source/WebCore/loader/DocumentLoadTiming.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadTimingh">trunk/Source/WebCore/loader/DocumentLoadTiming.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceLoadTimingh">trunk/Source/WebCore/platform/network/ResourceLoadTiming.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcocoaResourceLoadTimingmm">trunk/Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1912,7 +1912,6 @@
</span><span class="cx"> loader/CrossOriginAccessControl.cpp
</span><span class="cx"> loader/CrossOriginPreflightChecker.cpp
</span><span class="cx"> loader/CrossOriginPreflightResultCache.cpp
</span><del>- loader/DocumentLoadTiming.cpp
</del><span class="cx"> loader/DocumentLoader.cpp
</span><span class="cx"> loader/DocumentThreadableLoader.cpp
</span><span class="cx"> loader/DocumentWriter.cpp
</span><span class="lines">@@ -1926,6 +1925,7 @@
</span><span class="cx"> loader/HistoryController.cpp
</span><span class="cx"> loader/ImageLoader.cpp
</span><span class="cx"> loader/LinkLoader.cpp
</span><ins>+ loader/LoadTiming.cpp
</ins><span class="cx"> loader/LoaderStrategy.cpp
</span><span class="cx"> loader/MediaResourceLoader.cpp
</span><span class="cx"> loader/MixedContentChecker.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/ChangeLog        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1,3 +1,127 @@
</span><ins>+2016-08-12 Johan K. Jensen <johan_jensen@apple.com>
+
+ Rename DocumentLoadTiming and ResourceLoadTiming
+ https://bugs.webkit.org/show_bug.cgi?id=160821
+
+ Reviewed by Alex Christensen.
+
+ Renames ResourceLoadTiming to NetworkLoadTiming.
+ Renames DocumentLoadTiming to LoadTiming as well as
+ navigationStart() to startTime(), so it's generic for
+ both the main resource and subresources.
+
+ * CMakeLists.txt:
+ * Modules/gamepad/NavigatorGamepad.cpp:
+ (WebCore::NavigatorGamepad::from):
+ * PlatformMac.cmake:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorNetworkAgent.cpp:
+ (WebCore::buildObjectForTiming):
+ (WebCore::buildObjectForResourceResponse):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::startLoadingMainResource):
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::timing):
+ (WebCore::DocumentLoader::resetTiming):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::dispatchUnloadEvents):
+ (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
+ * loader/LoadTiming.cpp: Renamed from Source/WebCore/loader/DocumentLoadTiming.cpp.
+ (WebCore::LoadTiming::LoadTiming):
+ (WebCore::LoadTiming::monotonicTimeToZeroBasedDocumentTime):
+ (WebCore::LoadTiming::monotonicTimeToPseudoWallTime):
+ (WebCore::LoadTiming::markStartTime):
+ (WebCore::LoadTiming::addRedirect):
+ * loader/LoadTiming.h: Renamed from Source/WebCore/loader/DocumentLoadTiming.h.
+ (WebCore::LoadTiming::markUnloadEventStart):
+ (WebCore::LoadTiming::markUnloadEventEnd):
+ (WebCore::LoadTiming::markRedirectStart):
+ (WebCore::LoadTiming::markRedirectEnd):
+ (WebCore::LoadTiming::markFetchStart):
+ (WebCore::LoadTiming::setResponseEnd):
+ (WebCore::LoadTiming::markLoadEventStart):
+ (WebCore::LoadTiming::markLoadEventEnd):
+ (WebCore::LoadTiming::setHasSameOriginAsPreviousDocument):
+ (WebCore::LoadTiming::startTime):
+ (WebCore::LoadTiming::unloadEventStart):
+ (WebCore::LoadTiming::unloadEventEnd):
+ (WebCore::LoadTiming::redirectStart):
+ (WebCore::LoadTiming::redirectEnd):
+ (WebCore::LoadTiming::redirectCount):
+ (WebCore::LoadTiming::fetchStart):
+ (WebCore::LoadTiming::responseEnd):
+ (WebCore::LoadTiming::loadEventStart):
+ (WebCore::LoadTiming::loadEventEnd):
+ (WebCore::LoadTiming::hasCrossOriginRedirect):
+ (WebCore::LoadTiming::hasSameOriginAsPreviousDocument):
+ (WebCore::LoadTiming::referenceMonotonicTime):
+ (WebCore::LoadTiming::referenceWallTime):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchLoadEvent):
+ * page/PerformanceNavigation.cpp:
+ (WebCore::PerformanceNavigation::redirectCount):
+ * page/PerformanceResourceTiming.cpp:
+ (WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
+ (WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
+ * page/PerformanceResourceTiming.h:
+ * page/PerformanceTiming.cpp:
+ (WebCore::PerformanceTiming::navigationStart):
+ (WebCore::PerformanceTiming::unloadEventStart):
+ (WebCore::PerformanceTiming::unloadEventEnd):
+ (WebCore::PerformanceTiming::redirectStart):
+ (WebCore::PerformanceTiming::redirectEnd):
+ (WebCore::PerformanceTiming::fetchStart):
+ (WebCore::PerformanceTiming::domainLookupStart):
+ (WebCore::PerformanceTiming::domainLookupEnd):
+ (WebCore::PerformanceTiming::connectStart):
+ (WebCore::PerformanceTiming::connectEnd):
+ (WebCore::PerformanceTiming::secureConnectionStart):
+ (WebCore::PerformanceTiming::requestStart):
+ (WebCore::PerformanceTiming::responseStart):
+ (WebCore::PerformanceTiming::responseEnd):
+ (WebCore::PerformanceTiming::loadEventStart):
+ (WebCore::PerformanceTiming::loadEventEnd):
+ (WebCore::PerformanceTiming::loadTiming):
+ (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds):
+ * page/PerformanceTiming.h:
+ * platform/network/NetworkLoadTiming.h: Renamed from Source/WebCore/platform/network/ResourceLoadTiming.h.
+ (WebCore::NetworkLoadTiming::NetworkLoadTiming):
+ (WebCore::NetworkLoadTiming::operator=):
+ (WebCore::NetworkLoadTiming::isolatedCopy):
+ (WebCore::NetworkLoadTiming::operator==):
+ (WebCore::NetworkLoadTiming::operator!=):
+ (WebCore::NetworkLoadTiming::encode):
+ (WebCore::NetworkLoadTiming::decode):
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::crossThreadData):
+ (WebCore::ResourceResponseBase::fromCrossThreadData):
+ (WebCore::ResourceResponseBase::compare):
+ * platform/network/ResourceResponseBase.h:
+ (WebCore::ResourceResponseBase::networkLoadTiming):
+ (WebCore::ResourceResponseBase::encode):
+ (WebCore::ResourceResponseBase::decode):
+ * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
+ (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
+ * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
+ (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
+ * platform/network/cocoa/NetworkLoadTiming.mm: Renamed from Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm.
+ (WebCore::timingValue):
+ (WebCore::copyTimingData):
+ (WebCore::setCollectsTimingData):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::calculateWebTimingInformations):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::getConnectionTimingData):
+ * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+ * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::sendRequestCallback):
+ (WebCore::ResourceHandle::didStartRequest):
+ (WebCore::networkEventCallback):
+
</ins><span class="cx"> 2016-08-12 Joseph Pecoraro <pecoraro@apple.com>
</span><span class="cx">
</span><span class="cx"> Remove unused includes of RefCountedLeakCounter.h
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgamepadNavigatorGamepadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">
</span><span class="cx"> if (Frame* frame = navigator->frame()) {
</span><span class="cx"> if (DocumentLoader* documentLoader = frame->loader().documentLoader())
</span><del>- supplement->m_navigationStart = documentLoader->timing().navigationStart();
</del><ins>+ supplement->m_navigationStart = documentLoader->timing().startTime();
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx"> return supplement;
</span></span></pre></div>
<a id="trunkSourceWebCorePlatformMaccmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/PlatformMac.cmake (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/PlatformMac.cmake        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/PlatformMac.cmake        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -653,8 +653,8 @@
</span><span class="cx"> platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
</span><span class="cx">
</span><span class="cx"> platform/network/cocoa/CredentialCocoa.mm
</span><ins>+ platform/network/cocoa/NetworkLoadTiming.mm
</ins><span class="cx"> platform/network/cocoa/ProtectionSpaceCocoa.mm
</span><del>- platform/network/cocoa/ResourceLoadTiming.mm
</del><span class="cx"> platform/network/cocoa/ResourceRequestCocoa.mm
</span><span class="cx"> platform/network/cocoa/ResourceResponseCocoa.mm
</span><span class="cx"> platform/network/cocoa/WebCoreNSURLSession.mm
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -2409,7 +2409,7 @@
</span><span class="cx">                 5C7C88D81D0F1F4A009D2F6D /* SocketProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C7C88D71D0F1F2B009D2F6D /* SocketProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 5C9A7A751AA0F6EA00958ACF /* DFABytecodeCompiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C39305E1AA0F6A90029C816 /* DFABytecodeCompiler.cpp */; };
</span><span class="cx">                 5C9A7A761AA0F6ED00958ACF /* DFABytecodeInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C3930601AA0F6A90029C816 /* DFABytecodeInterpreter.cpp */; };
</span><del>-                5C9B860C1C21E3C900110F36 /* ResourceLoadTiming.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */; };
</del><ins>+                5C9B860C1C21E3C900110F36 /* NetworkLoadTiming.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C9B860B1C21E3C600110F36 /* NetworkLoadTiming.mm */; };
</ins><span class="cx">                 5CB37FFE1C62D28C00F20188 /* ScrollAnimatorMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CB37FFC1C62D27800F20188 /* ScrollAnimatorMock.cpp */; };
</span><span class="cx">                 5CB37FFF1C62D2A100F20188 /* ScrollAnimatorMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB37FFD1C62D27800F20188 /* ScrollAnimatorMock.h */; };
</span><span class="cx">                 5CBC8DAC1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CBC8DAA1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp */; };
</span><span class="lines">@@ -3354,7 +3354,7 @@
</span><span class="cx">                 85F74E0A0AA8DF8C000DC284 /* DOMCSSUnknownRule.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85032DD50AA8C9BE007D3B7D /* DOMCSSUnknownRule.h */; };
</span><span class="cx">                 85FF315A0AAFBFCB00374F38 /* DOMKeyboardEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 85FF31580AAFBFCB00374F38 /* DOMKeyboardEvent.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 85FF315B0AAFBFCB00374F38 /* DOMKeyboardEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85FF31590AAFBFCB00374F38 /* DOMKeyboardEvent.mm */; };
</span><del>-                861C2EA413FB4FDD00062ABB /* DocumentLoadTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 861C2EA313FB4FDD00062ABB /* DocumentLoadTiming.cpp */; };
</del><ins>+                861C2EA413FB4FDD00062ABB /* LoadTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 861C2EA313FB4FDD00062ABB /* LoadTiming.cpp */; };
</ins><span class="cx">                 862F129E18C1576F005C54AF /* CountedUserActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 862F129D18C1572C005C54AF /* CountedUserActivity.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 862F12A018C1DD02005C54AF /* HysteresisActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 862F129F18C1DCE4005C54AF /* HysteresisActivity.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 86512EDE154A2AEF00A90426 /* PerformanceResourceTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86512EDB154A2AEE00A90426 /* PerformanceResourceTiming.cpp */; };
</span><span class="lines">@@ -3377,13 +3377,13 @@
</span><span class="cx">                 89B5EAA211E8003D00F2367E /* LineEnding.h in Headers */ = {isa = PBXBuildFile; fileRef = 89B5EAA011E8003D00F2367E /* LineEnding.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 89F60B11157F686E0075E157 /* DOMWindowQuota.h in Headers */ = {isa = PBXBuildFile; fileRef = 89F60B0A157F686D0075E157 /* DOMWindowQuota.h */; };
</span><span class="cx">                 89F60CDA15809D760075E157 /* JSStorageInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 89F60CD215809D760075E157 /* JSStorageInfo.h */; };
</span><del>-                8A12E35D11FA33280025836A /* DocumentLoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A12E35C11FA33280025836A /* DocumentLoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                8A12E35D11FA33280025836A /* LoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A12E35C11FA33280025836A /* LoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 8A309C9F123950BE00CB9204 /* NestingLevelIncrementer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A309C9E123950BE00CB9204 /* NestingLevelIncrementer.h */; };
</span><span class="cx">                 8A413AE01207BBA50082016E /* ScriptRunner.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A413ADE1207BBA50082016E /* ScriptRunner.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 8A413AE11207BBA50082016E /* ScriptRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A413ADF1207BBA50082016E /* ScriptRunner.cpp */; };
</span><span class="cx">                 8A7CC96B12076D73001D4588 /* PendingScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A7CC96A12076D73001D4588 /* PendingScript.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 8A7CC97012076F8A001D4588 /* PendingScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A7CC96F12076F8A001D4588 /* PendingScript.cpp */; };
</span><del>-                8A81BF8511DCFD9000DA2B98 /* ResourceLoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A81BF8411DCFD9000DA2B98 /* ResourceLoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                8A81BF8511DCFD9000DA2B98 /* NetworkLoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A81BF8411DCFD9000DA2B98 /* NetworkLoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 8A844D0511D3C18E0014065C /* Performance.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A844D0211D3C18E0014065C /* Performance.h */; };
</span><span class="cx">                 8A9A587011E84C36008ACFD1 /* JSPerformanceNavigation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A9A586E11E84C35008ACFD1 /* JSPerformanceNavigation.cpp */; };
</span><span class="cx">                 8A9A587111E84C36008ACFD1 /* JSPerformanceNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A9A586F11E84C36008ACFD1 /* JSPerformanceNavigation.h */; };
</span><span class="lines">@@ -9771,7 +9771,7 @@
</span><span class="cx">                 5C6E653F1D5CEDC900F7862E /* URLParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = URLParser.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5C6E65401D5CEDC900F7862E /* URLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = URLParser.h; sourceTree = "<group>"; };
</span><span class="cx">                 5C7C88D71D0F1F2B009D2F6D /* SocketProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketProvider.h; sourceTree = "<group>"; };
</span><del>-                5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ResourceLoadTiming.mm; sourceTree = "<group>"; };
</del><ins>+                5C9B860B1C21E3C600110F36 /* NetworkLoadTiming.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkLoadTiming.mm; sourceTree = "<group>"; };
</ins><span class="cx">                 5CB37FFC1C62D27800F20188 /* ScrollAnimatorMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollAnimatorMock.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 5CB37FFD1C62D27800F20188 /* ScrollAnimatorMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollAnimatorMock.h; sourceTree = "<group>"; };
</span><span class="cx">                 5CBC8DAA1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaAccessibilitySoftLink.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -10828,7 +10828,7 @@
</span><span class="cx">                 85F56A790A98CE3700ADB60A /* DOMProcessingInstruction.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMProcessingInstruction.mm; sourceTree = "<group>"; };
</span><span class="cx">                 85FF31580AAFBFCB00374F38 /* DOMKeyboardEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DOMKeyboardEvent.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
</span><span class="cx">                 85FF31590AAFBFCB00374F38 /* DOMKeyboardEvent.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = DOMKeyboardEvent.mm; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
</span><del>-                861C2EA313FB4FDD00062ABB /* DocumentLoadTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentLoadTiming.cpp; sourceTree = "<group>"; };
</del><ins>+                861C2EA313FB4FDD00062ABB /* LoadTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadTiming.cpp; sourceTree = "<group>"; };
</ins><span class="cx">                 862F129D18C1572C005C54AF /* CountedUserActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountedUserActivity.h; sourceTree = "<group>"; };
</span><span class="cx">                 862F129F18C1DCE4005C54AF /* HysteresisActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HysteresisActivity.h; sourceTree = "<group>"; };
</span><span class="cx">                 86512EDB154A2AEE00A90426 /* PerformanceResourceTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerformanceResourceTiming.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -10866,13 +10866,13 @@
</span><span class="cx">                 89F60B0A157F686D0075E157 /* DOMWindowQuota.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowQuota.h; sourceTree = "<group>"; };
</span><span class="cx">                 89F60CD215809D760075E157 /* JSStorageInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSStorageInfo.h; sourceTree = "<group>"; };
</span><span class="cx">                 89FD58D816EEDBD400E183F0 /* NavigatorStorageQuota.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorStorageQuota.h; sourceTree = "<group>"; };
</span><del>-                8A12E35C11FA33280025836A /* DocumentLoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentLoadTiming.h; sourceTree = "<group>"; };
</del><ins>+                8A12E35C11FA33280025836A /* LoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadTiming.h; sourceTree = "<group>"; };
</ins><span class="cx">                 8A309C9E123950BE00CB9204 /* NestingLevelIncrementer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NestingLevelIncrementer.h; sourceTree = "<group>"; };
</span><span class="cx">                 8A413ADE1207BBA50082016E /* ScriptRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptRunner.h; sourceTree = "<group>"; };
</span><span class="cx">                 8A413ADF1207BBA50082016E /* ScriptRunner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptRunner.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 8A7CC96A12076D73001D4588 /* PendingScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PendingScript.h; sourceTree = "<group>"; };
</span><span class="cx">                 8A7CC96F12076F8A001D4588 /* PendingScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PendingScript.cpp; sourceTree = "<group>"; };
</span><del>-                8A81BF8411DCFD9000DA2B98 /* ResourceLoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoadTiming.h; sourceTree = "<group>"; };
</del><ins>+                8A81BF8411DCFD9000DA2B98 /* NetworkLoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkLoadTiming.h; sourceTree = "<group>"; };
</ins><span class="cx">                 8A844D0211D3C18E0014065C /* Performance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Performance.h; sourceTree = "<group>"; };
</span><span class="cx">                 8A844D0311D3C18E0014065C /* Performance.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Performance.idl; sourceTree = "<group>"; };
</span><span class="cx">                 8A9A586E11E84C35008ACFD1 /* JSPerformanceNavigation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPerformanceNavigation.cpp; sourceTree = "<group>"; };
</span><span class="lines">@@ -17952,7 +17952,7 @@
</span><span class="cx">                                 514C76660CE923A1007EF3CD /* ResourceHandleInternal.h */,
</span><span class="cx">                                 51E4143216A6595100C633C7 /* ResourceHandleTypes.h */,
</span><span class="cx">                                 E4295FA312B0614E00D1ACE0 /* ResourceLoadPriority.h */,
</span><del>-                                8A81BF8411DCFD9000DA2B98 /* ResourceLoadTiming.h */,
</del><ins>+                                8A81BF8411DCFD9000DA2B98 /* NetworkLoadTiming.h */,
</ins><span class="cx">                                 514C76670CE923A1007EF3CD /* ResourceRequestBase.cpp */,
</span><span class="cx">                                 514C76680CE923A1007EF3CD /* ResourceRequestBase.h */,
</span><span class="cx">                                 514C76690CE923A1007EF3CD /* ResourceResponseBase.cpp */,
</span><span class="lines">@@ -18356,7 +18356,7 @@
</span><span class="cx">                                 3792917B1987678F00F4B661 /* CredentialCocoa.mm */,
</span><span class="cx">                                 372ADA37197F47B900FC501E /* ProtectionSpaceCocoa.h */,
</span><span class="cx">                                 372ADA39197F687600FC501E /* ProtectionSpaceCocoa.mm */,
</span><del>-                                5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */,
</del><ins>+                                5C9B860B1C21E3C600110F36 /* NetworkLoadTiming.mm */,
</ins><span class="cx">                                 7E7DE1FC195CEF260035363B /* ResourceRequestCocoa.mm */,
</span><span class="cx">                                 A1F78D0B1C25422C00245446 /* ResourceResponseCocoa.mm */,
</span><span class="cx">                                 CD225C0A1C46FBF400140761 /* WebCoreNSURLSession.h */,
</span><span class="lines">@@ -22396,8 +22396,8 @@
</span><span class="cx">                                 E1C415D90F655D6F0092D2FB /* CrossOriginPreflightResultCache.h */,
</span><span class="cx">                                 93E227DB0AF589AD00D48324 /* DocumentLoader.cpp */,
</span><span class="cx">                                 656D371E0ADBA5DE00A4554D /* DocumentLoader.h */,
</span><del>-                                861C2EA313FB4FDD00062ABB /* DocumentLoadTiming.cpp */,
-                                8A12E35C11FA33280025836A /* DocumentLoadTiming.h */,
</del><ins>+                                861C2EA313FB4FDD00062ABB /* LoadTiming.cpp */,
+                                8A12E35C11FA33280025836A /* LoadTiming.h */,
</ins><span class="cx">                                 0B9056150F2578BE0095FF6A /* DocumentThreadableLoader.cpp */,
</span><span class="cx">                                 0B9056160F2578BE0095FF6A /* DocumentThreadableLoader.h */,
</span><span class="cx">                                 9738899E116EA9DC00ADF313 /* DocumentWriter.cpp */,
</span><span class="lines">@@ -25296,7 +25296,7 @@
</span><span class="cx">                                 A3BB59F41457A40D00AC56FE /* DocumentEventQueue.h in Headers */,
</span><span class="cx">                                 A8185F3D09765766005826D9 /* DocumentFragment.h in Headers */,
</span><span class="cx">                                 656D37360ADBA5DE00A4554D /* DocumentLoader.h in Headers */,
</span><del>-                                8A12E35D11FA33280025836A /* DocumentLoadTiming.h in Headers */,
</del><ins>+                                8A12E35D11FA33280025836A /* LoadTiming.h in Headers */,
</ins><span class="cx">                                 ED2BA83C09A24B91006C0AC4 /* DocumentMarker.h in Headers */,
</span><span class="cx">                                 CE057FA61220731100A476D5 /* DocumentMarkerController.h in Headers */,
</span><span class="cx">                                 14947FFE12F80CD200A0F631 /* DocumentOrderedMap.h in Headers */,
</span><span class="lines">@@ -27359,7 +27359,7 @@
</span><span class="cx">                                 E4295FA412B0614E00D1ACE0 /* ResourceLoadPriority.h in Headers */,
</span><span class="cx">                                 7A929CA71C598AA9004DF226 /* ResourceLoadStatistics.h in Headers */,
</span><span class="cx">                                 7AD3CDDA1C8A01A400F12698 /* ResourceLoadStatisticsStore.h in Headers */,
</span><del>-                                8A81BF8511DCFD9000DA2B98 /* ResourceLoadTiming.h in Headers */,
</del><ins>+                                8A81BF8511DCFD9000DA2B98 /* NetworkLoadTiming.h in Headers */,
</ins><span class="cx">                                 7EE6846D12D26E3800E79415 /* ResourceRequest.h in Headers */,
</span><span class="cx">                                 514C767D0CE923A1007EF3CD /* ResourceRequestBase.h in Headers */,
</span><span class="cx">                                 7EE6846F12D26E3800E79415 /* ResourceRequestCFNet.h in Headers */,
</span><span class="lines">@@ -29115,7 +29115,7 @@
</span><span class="cx">                                 A8185F3F09765766005826D9 /* DocumentFragment.cpp in Sources */,
</span><span class="cx">                                 93E227E00AF589AD00D48324 /* DocumentLoader.cpp in Sources */,
</span><span class="cx">                                 1C26497A0D7E248A00BD10F2 /* DocumentLoaderMac.cpp in Sources */,
</span><del>-                                861C2EA413FB4FDD00062ABB /* DocumentLoadTiming.cpp in Sources */,
</del><ins>+                                861C2EA413FB4FDD00062ABB /* LoadTiming.cpp in Sources */,
</ins><span class="cx">                                 A781C6A713828B5D0012A62A /* DocumentMarker.cpp in Sources */,
</span><span class="cx">                                 CE057FA51220731100A476D5 /* DocumentMarkerController.cpp in Sources */,
</span><span class="cx">                                 14947FFD12F80CD200A0F631 /* DocumentOrderedMap.cpp in Sources */,
</span><span class="lines">@@ -31018,7 +31018,7 @@
</span><span class="cx">                                 6B693A341C51A95D00B03BEF /* ResourceLoadObserver.cpp in Sources */,
</span><span class="cx">                                 7A929CA61C598A9E004DF226 /* ResourceLoadStatistics.cpp in Sources */,
</span><span class="cx">                                 7AD3CDD91C8A002F00F12698 /* ResourceLoadStatisticsStore.cpp in Sources */,
</span><del>-                                5C9B860C1C21E3C900110F36 /* ResourceLoadTiming.mm in Sources */,
</del><ins>+                                5C9B860C1C21E3C900110F36 /* NetworkLoadTiming.mm in Sources */,
</ins><span class="cx">                                 514C767C0CE923A1007EF3CD /* ResourceRequestBase.cpp in Sources */,
</span><span class="cx">                                 7EE6846E12D26E3800E79415 /* ResourceRequestCFNet.cpp in Sources */,
</span><span class="cx">                                 7E7DE1FD195CEF260035363B /* ResourceRequestCocoa.mm in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorNetworkAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorNetworkAgent.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorNetworkAgent.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/inspector/InspectorNetworkAgent.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -184,10 +184,10 @@
</span><span class="cx"> return headersObject;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static Ref<Inspector::Protocol::Network::ResourceTiming> buildObjectForTiming(const ResourceLoadTiming& timing, DocumentLoader* loader)
</del><ins>+static Ref<Inspector::Protocol::Network::ResourceTiming> buildObjectForTiming(const NetworkLoadTiming& timing, DocumentLoader* loader)
</ins><span class="cx"> {
</span><span class="cx"> return Inspector::Protocol::Network::ResourceTiming::create()
</span><del>- .setNavigationStart(loader->timing().navigationStart())
</del><ins>+ .setNavigationStart(loader->timing().startTime())
</ins><span class="cx"> .setDomainLookupStart(timing.domainLookupStart)
</span><span class="cx"> .setDomainLookupEnd(timing.domainLookupEnd)
</span><span class="cx"> .setConnectStart(timing.connectStart)
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx"> .release();
</span><span class="cx">
</span><span class="cx"> responseObject->setFromDiskCache(response.source() == ResourceResponse::Source::DiskCache || response.source() == ResourceResponse::Source::DiskCacheAfterValidation);
</span><del>- responseObject->setTiming(buildObjectForTiming(response.resourceLoadTiming(), loader));
</del><ins>+ responseObject->setTiming(buildObjectForTiming(response.networkLoadTiming(), loader));
</ins><span class="cx">
</span><span class="cx"> return WTFMove(responseObject);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadTimingcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/loader/DocumentLoadTiming.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoadTiming.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/loader/DocumentLoadTiming.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1,90 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DocumentLoadTiming.h"
-
-#include "Document.h"
-#include "DocumentLoader.h"
-#include "Frame.h"
-#include "Page.h"
-#include "SecurityOrigin.h"
-#include <wtf/CurrentTime.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-
-DocumentLoadTiming::DocumentLoadTiming()
- : m_referenceMonotonicTime(0.0)
- , m_referenceWallTime(0.0)
- , m_navigationStart(0.0)
- , m_unloadEventStart(0.0)
- , m_unloadEventEnd(0.0)
- , m_redirectStart(0.0)
- , m_redirectEnd(0.0)
- , m_redirectCount(0)
- , m_fetchStart(0.0)
- , m_responseEnd(0.0)
- , m_loadEventStart(0.0)
- , m_loadEventEnd(0.0)
- , m_hasCrossOriginRedirect(false)
- , m_hasSameOriginAsPreviousDocument(false)
-{
-}
-
-double DocumentLoadTiming::monotonicTimeToZeroBasedDocumentTime(double monotonicTime) const
-{
- if (!monotonicTime)
- return 0.0;
- return monotonicTime - m_referenceMonotonicTime;
-}
-
-double DocumentLoadTiming::monotonicTimeToPseudoWallTime(double monotonicTime) const
-{
- if (!monotonicTime)
- return 0.0;
- return m_referenceWallTime + monotonicTime - m_referenceMonotonicTime;
-}
-
-void DocumentLoadTiming::markNavigationStart()
-{
- ASSERT(!m_navigationStart && !m_referenceMonotonicTime && !m_referenceWallTime);
-
- m_navigationStart = m_referenceMonotonicTime = monotonicallyIncreasingTime();
- m_referenceWallTime = currentTime();
-}
-
-void DocumentLoadTiming::addRedirect(const URL& redirectingUrl, const URL& redirectedUrl)
-{
- m_redirectCount++;
- if (!m_redirectStart)
- m_redirectStart = m_fetchStart;
- m_redirectEnd = m_fetchStart = monotonicallyIncreasingTime();
- // Check if the redirected url is allowed to access the redirecting url's timing information.
- Ref<SecurityOrigin> redirectedSecurityOrigin(SecurityOrigin::create(redirectedUrl));
- m_hasCrossOriginRedirect = !redirectedSecurityOrigin.get().canRequest(redirectingUrl);
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadTimingh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/loader/DocumentLoadTiming.h (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoadTiming.h        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/loader/DocumentLoadTiming.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1,92 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Google, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DocumentLoadTiming_h
-#define DocumentLoadTiming_h
-
-#include <wtf/CurrentTime.h>
-
-namespace WebCore {
-
-class Frame;
-class URL;
-
-class DocumentLoadTiming {
-public:
- DocumentLoadTiming();
-
- double monotonicTimeToZeroBasedDocumentTime(double) const;
- double monotonicTimeToPseudoWallTime(double) const;
-
- void markNavigationStart();
- void addRedirect(const URL& redirectingUrl, const URL& redirectedUrl);
-
- void markUnloadEventStart() { m_unloadEventStart = monotonicallyIncreasingTime(); }
- void markUnloadEventEnd() { m_unloadEventEnd = monotonicallyIncreasingTime(); }
- void markRedirectStart() { m_redirectStart = monotonicallyIncreasingTime(); }
- void markRedirectEnd() { m_redirectEnd = monotonicallyIncreasingTime(); }
- void markFetchStart() { m_fetchStart = monotonicallyIncreasingTime(); }
- void setResponseEnd(double monotonicTime) { m_responseEnd = monotonicTime; }
- void markLoadEventStart() { m_loadEventStart = monotonicallyIncreasingTime(); }
- void markLoadEventEnd() { m_loadEventEnd = monotonicallyIncreasingTime(); }
-
- void setHasSameOriginAsPreviousDocument(bool value) { m_hasSameOriginAsPreviousDocument = value; }
-
- double navigationStart() const { return m_navigationStart; }
- double unloadEventStart() const { return m_unloadEventStart; }
- double unloadEventEnd() const { return m_unloadEventEnd; }
- double redirectStart() const { return m_redirectStart; }
- double redirectEnd() const { return m_redirectEnd; }
- short redirectCount() const { return m_redirectCount; }
- double fetchStart() const { return m_fetchStart; }
- double responseEnd() const { return m_responseEnd; }
- double loadEventStart() const { return m_loadEventStart; }
- double loadEventEnd() const { return m_loadEventEnd; }
- bool hasCrossOriginRedirect() const { return m_hasCrossOriginRedirect; }
- bool hasSameOriginAsPreviousDocument() const { return m_hasSameOriginAsPreviousDocument; }
-
- double referenceMonotonicTime() const { return m_referenceMonotonicTime; }
- double referenceWallTime() const { return m_referenceWallTime; }
-
-private:
- double m_referenceMonotonicTime;
- double m_referenceWallTime;
- double m_navigationStart;
- double m_unloadEventStart;
- double m_unloadEventEnd;
- double m_redirectStart;
- double m_redirectEnd;
- short m_redirectCount;
- double m_fetchStart;
- double m_responseEnd;
- double m_loadEventStart;
- double m_loadEventEnd;
- bool m_hasCrossOriginRedirect;
- bool m_hasSameOriginAsPreviousDocument;
-};
-
-} // namespace WebCore
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1466,7 +1466,7 @@
</span><span class="cx"> void DocumentLoader::startLoadingMainResource()
</span><span class="cx"> {
</span><span class="cx"> m_mainDocumentError = ResourceError();
</span><del>- timing().markNavigationStart();
</del><ins>+ timing().markStartTime();
</ins><span class="cx"> ASSERT(!m_mainResource);
</span><span class="cx"> ASSERT(!m_loadingMainResource);
</span><span class="cx"> m_loadingMainResource = true;
</span><span class="lines">@@ -1484,7 +1484,7 @@
</span><span class="cx"> // because we pass a wrong loadType (see FIXME in addExtraFieldsToMainResourceRequest()).
</span><span class="cx"> frameLoader()->addExtraFieldsToMainResourceRequest(m_request);
</span><span class="cx">
</span><del>- ASSERT(timing().navigationStart());
</del><ins>+ ASSERT(timing().startTime());
</ins><span class="cx"> ASSERT(!timing().fetchStart());
</span><span class="cx"> timing().markFetchStart();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.h (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.h        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/loader/DocumentLoader.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -31,9 +31,9 @@
</span><span class="cx">
</span><span class="cx"> #include "CachedRawResourceClient.h"
</span><span class="cx"> #include "CachedResourceHandle.h"
</span><del>-#include "DocumentLoadTiming.h"
</del><span class="cx"> #include "DocumentWriter.h"
</span><span class="cx"> #include "IconDatabaseBase.h"
</span><ins>+#include "LoadTiming.h"
</ins><span class="cx"> #include "NavigationAction.h"
</span><span class="cx"> #include "ResourceError.h"
</span><span class="cx"> #include "ResourceLoaderOptions.h"
</span><span class="lines">@@ -255,8 +255,8 @@
</span><span class="cx"> void recordMemoryCacheLoadForFutureClientNotification(const ResourceRequest&);
</span><span class="cx"> void takeMemoryCacheLoadsForClientNotification(Vector<ResourceRequest>& loads);
</span><span class="cx">
</span><del>- DocumentLoadTiming& timing() { return m_documentLoadTiming; }
- void resetTiming() { m_documentLoadTiming = DocumentLoadTiming(); }
</del><ins>+ LoadTiming& timing() { return m_loadTiming; }
+ void resetTiming() { m_loadTiming = LoadTiming(); }
</ins><span class="cx">
</span><span class="cx"> // The WebKit layer calls this function when it's ready for the data to
</span><span class="cx"> // actually be added to the document.
</span><span class="lines">@@ -426,7 +426,7 @@
</span><span class="cx"> bool m_didCreateGlobalHistoryEntry;
</span><span class="cx">
</span><span class="cx"> bool m_loadingMainResource;
</span><del>- DocumentLoadTiming m_documentLoadTiming;
</del><ins>+ LoadTiming m_loadTiming;
</ins><span class="cx">
</span><span class="cx"> double m_timeOfLastDataReceived;
</span><span class="cx"> unsigned long m_identifierForLoadWithoutResourceLoader;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -51,7 +51,6 @@
</span><span class="cx"> #include "DiagnosticLoggingClient.h"
</span><span class="cx"> #include "DiagnosticLoggingKeys.h"
</span><span class="cx"> #include "Document.h"
</span><del>-#include "DocumentLoadTiming.h"
</del><span class="cx"> #include "DocumentLoader.h"
</span><span class="cx"> #include "Editor.h"
</span><span class="cx"> #include "EditorClient.h"
</span><span class="lines">@@ -82,6 +81,7 @@
</span><span class="cx"> #include "IgnoreOpensDuringUnloadCountIncrementer.h"
</span><span class="cx"> #include "InspectorController.h"
</span><span class="cx"> #include "InspectorInstrumentation.h"
</span><ins>+#include "LoadTiming.h"
</ins><span class="cx"> #include "LoaderStrategy.h"
</span><span class="cx"> #include "Logging.h"
</span><span class="cx"> #include "MIMETypeRegistry.h"
</span><span class="lines">@@ -2933,12 +2933,12 @@
</span><span class="cx">
</span><span class="cx"> if (!m_frame.document()->inPageCache()) {
</span><span class="cx"> Ref<Event> unloadEvent(Event::create(eventNames().unloadEvent, false, false));
</span><del>- // The DocumentLoader (and thus its DocumentLoadTiming) might get destroyed
</del><ins>+ // The DocumentLoader (and thus its LoadTiming) might get destroyed
</ins><span class="cx"> // while dispatching the event, so protect it to prevent writing the end
</span><span class="cx"> // time into freed memory.
</span><span class="cx"> RefPtr<DocumentLoader> documentLoader = m_provisionalDocumentLoader;
</span><span class="cx"> m_pageDismissalEventBeingDispatched = PageDismissalType::Unload;
</span><del>- if (documentLoader && documentLoader->timing().navigationStart() && !documentLoader->timing().unloadEventStart() && !documentLoader->timing().unloadEventEnd()) {
</del><ins>+ if (documentLoader && documentLoader->timing().startTime() && !documentLoader->timing().unloadEventStart() && !documentLoader->timing().unloadEventEnd()) {
</ins><span class="cx"> auto& timing = documentLoader->timing();
</span><span class="cx"> timing.markUnloadEventStart();
</span><span class="cx"> m_frame.document()->domWindow()->dispatchEvent(unloadEvent, m_frame.document());
</span><span class="lines">@@ -3241,9 +3241,9 @@
</span><span class="cx"> m_loadingFromCachedPage = true;
</span><span class="cx">
</span><span class="cx"> // Should have timing data from previous time(s) the page was shown.
</span><del>- ASSERT(provisionalLoader->timing().navigationStart());
</del><ins>+ ASSERT(provisionalLoader->timing().startTime());
</ins><span class="cx"> provisionalLoader->resetTiming();
</span><del>- provisionalLoader->timing().markNavigationStart();
</del><ins>+ provisionalLoader->timing().markStartTime();
</ins><span class="cx">
</span><span class="cx"> provisionalLoader->setCommitted(true);
</span><span class="cx"> commitProvisionalLoad();
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderLoadTimingcppfromrev204428trunkSourceWebCoreloaderDocumentLoadTimingcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/loader/LoadTiming.cpp (from rev 204428, trunk/Source/WebCore/loader/DocumentLoadTiming.cpp) (0 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LoadTiming.cpp         (rev 0)
+++ trunk/Source/WebCore/loader/LoadTiming.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -0,0 +1,90 @@
</span><ins>+/*
+ * Copyright (C) 2011 Google, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "LoadTiming.h"
+
+#include "Document.h"
+#include "DocumentLoader.h"
+#include "Frame.h"
+#include "Page.h"
+#include "SecurityOrigin.h"
+#include <wtf/CurrentTime.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+LoadTiming::LoadTiming()
+ : m_referenceMonotonicTime(0.0)
+ , m_referenceWallTime(0.0)
+ , m_startTime(0.0)
+ , m_unloadEventStart(0.0)
+ , m_unloadEventEnd(0.0)
+ , m_redirectStart(0.0)
+ , m_redirectEnd(0.0)
+ , m_redirectCount(0)
+ , m_fetchStart(0.0)
+ , m_responseEnd(0.0)
+ , m_loadEventStart(0.0)
+ , m_loadEventEnd(0.0)
+ , m_hasCrossOriginRedirect(false)
+ , m_hasSameOriginAsPreviousDocument(false)
+{
+}
+
+double LoadTiming::monotonicTimeToZeroBasedDocumentTime(double monotonicTime) const
+{
+ if (!monotonicTime)
+ return 0.0;
+ return monotonicTime - m_referenceMonotonicTime;
+}
+
+double LoadTiming::monotonicTimeToPseudoWallTime(double monotonicTime) const
+{
+ if (!monotonicTime)
+ return 0.0;
+ return m_referenceWallTime + monotonicTime - m_referenceMonotonicTime;
+}
+
+void LoadTiming::markStartTime()
+{
+ ASSERT(!m_startTime && !m_referenceMonotonicTime && !m_referenceWallTime);
+
+ m_startTime = m_referenceMonotonicTime = monotonicallyIncreasingTime();
+ m_referenceWallTime = currentTime();
+}
+
+void LoadTiming::addRedirect(const URL& redirectingUrl, const URL& redirectedUrl)
+{
+ m_redirectCount++;
+ if (!m_redirectStart)
+ m_redirectStart = m_fetchStart;
+ m_redirectEnd = m_fetchStart = monotonicallyIncreasingTime();
+ // Check if the redirected url is allowed to access the redirecting url's timing information.
+ Ref<SecurityOrigin> redirectedSecurityOrigin(SecurityOrigin::create(redirectedUrl));
+ m_hasCrossOriginRedirect = !redirectedSecurityOrigin.get().canRequest(redirectingUrl);
+}
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCoreloaderLoadTiminghfromrev204428trunkSourceWebCoreloaderDocumentLoadTimingh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/loader/LoadTiming.h (from rev 204428, trunk/Source/WebCore/loader/DocumentLoadTiming.h) (0 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/LoadTiming.h         (rev 0)
+++ trunk/Source/WebCore/loader/LoadTiming.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -0,0 +1,89 @@
</span><ins>+/*
+ * Copyright (C) 2010 Google, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/CurrentTime.h>
+
+namespace WebCore {
+
+class Frame;
+class URL;
+
+class LoadTiming {
+public:
+ LoadTiming();
+
+ double monotonicTimeToZeroBasedDocumentTime(double) const;
+ double monotonicTimeToPseudoWallTime(double) const;
+
+ void markStartTime();
+ void addRedirect(const URL& redirectingUrl, const URL& redirectedUrl);
+
+ void markUnloadEventStart() { m_unloadEventStart = monotonicallyIncreasingTime(); }
+ void markUnloadEventEnd() { m_unloadEventEnd = monotonicallyIncreasingTime(); }
+ void markRedirectStart() { m_redirectStart = monotonicallyIncreasingTime(); }
+ void markRedirectEnd() { m_redirectEnd = monotonicallyIncreasingTime(); }
+ void markFetchStart() { m_fetchStart = monotonicallyIncreasingTime(); }
+ void setResponseEnd(double monotonicTime) { m_responseEnd = monotonicTime; }
+ void markLoadEventStart() { m_loadEventStart = monotonicallyIncreasingTime(); }
+ void markLoadEventEnd() { m_loadEventEnd = monotonicallyIncreasingTime(); }
+
+ void setHasSameOriginAsPreviousDocument(bool value) { m_hasSameOriginAsPreviousDocument = value; }
+
+ double startTime() const { return m_startTime; }
+ double unloadEventStart() const { return m_unloadEventStart; }
+ double unloadEventEnd() const { return m_unloadEventEnd; }
+ double redirectStart() const { return m_redirectStart; }
+ double redirectEnd() const { return m_redirectEnd; }
+ short redirectCount() const { return m_redirectCount; }
+ double fetchStart() const { return m_fetchStart; }
+ double responseEnd() const { return m_responseEnd; }
+ double loadEventStart() const { return m_loadEventStart; }
+ double loadEventEnd() const { return m_loadEventEnd; }
+ bool hasCrossOriginRedirect() const { return m_hasCrossOriginRedirect; }
+ bool hasSameOriginAsPreviousDocument() const { return m_hasSameOriginAsPreviousDocument; }
+
+ double referenceMonotonicTime() const { return m_referenceMonotonicTime; }
+ double referenceWallTime() const { return m_referenceWallTime; }
+
+private:
+ double m_referenceMonotonicTime;
+ double m_referenceWallTime;
+ double m_startTime;
+ double m_unloadEventStart;
+ double m_unloadEventEnd;
+ double m_redirectStart;
+ double m_redirectEnd;
+ short m_redirectCount;
+ double m_fetchStart;
+ double m_responseEnd;
+ double m_loadEventStart;
+ double m_loadEventEnd;
+ bool m_hasCrossOriginRedirect;
+ bool m_hasSameOriginAsPreviousDocument;
+};
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/page/DOMWindow.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1868,10 +1868,10 @@
</span><span class="cx"> {
</span><span class="cx"> Ref<Event> loadEvent = Event::create(eventNames().loadEvent, false, false);
</span><span class="cx"> if (m_frame && m_frame->loader().documentLoader() && !m_frame->loader().documentLoader()->timing().loadEventStart()) {
</span><del>- // The DocumentLoader (and thus its DocumentLoadTiming) might get destroyed while dispatching
</del><ins>+ // The DocumentLoader (and thus its LoadTiming) might get destroyed while dispatching
</ins><span class="cx"> // the event, so protect it to prevent writing the end time into freed memory.
</span><span class="cx"> RefPtr<DocumentLoader> documentLoader = m_frame->loader().documentLoader();
</span><del>- DocumentLoadTiming& timing = documentLoader->timing();
</del><ins>+ LoadTiming& timing = documentLoader->timing();
</ins><span class="cx"> timing.markLoadEventStart();
</span><span class="cx"> dispatchEvent(loadEvent, document());
</span><span class="cx"> timing.markLoadEventEnd();
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceNavigationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceNavigation.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceNavigation.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/page/PerformanceNavigation.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><del>- DocumentLoadTiming& timing = loader->timing();
</del><ins>+ LoadTiming& timing = loader->timing();
</ins><span class="cx"> if (timing.hasCrossOriginRedirect())
</span><span class="cx"> return 0;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceResourceTimingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceResourceTiming.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/page/PerformanceResourceTiming.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -35,9 +35,9 @@
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><span class="cx">
</span><span class="cx"> #include "Document.h"
</span><del>-#include "DocumentLoadTiming.h"
</del><span class="cx"> #include "DocumentLoader.h"
</span><span class="cx"> #include "HTTPHeaderNames.h"
</span><ins>+#include "LoadTiming.h"
</ins><span class="cx"> #include "URL.h"
</span><span class="cx"> #include "ResourceRequest.h"
</span><span class="cx"> #include "ResourceResponse.h"
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> PerformanceResourceTiming::PerformanceResourceTiming(const AtomicString& initiatorType, const ResourceRequest& request, const ResourceResponse& response, double initiationTime, double finishTime, Document* requestingDocument)
</span><span class="cx"> : PerformanceEntry(request.url().string(), "resource", monotonicTimeToDocumentMilliseconds(requestingDocument, initiationTime), monotonicTimeToDocumentMilliseconds(requestingDocument, finishTime))
</span><span class="cx"> , m_initiatorType(initiatorType)
</span><del>- , m_timing(response.resourceLoadTiming())
</del><ins>+ , m_timing(response.networkLoadTiming())
</ins><span class="cx"> , m_finishTime(finishTime)
</span><span class="cx"> , m_shouldReportDetails(passesTimingAllowCheck(response, requestingDocument))
</span><span class="cx"> , m_requestingDocument(requestingDocument)
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!deltaMilliseconds)
</span><span class="cx"> return 0.0;
</span><del>- return monotonicTimeToDocumentMilliseconds(m_requestingDocument.get(), m_requestingDocument->loader()->timing().navigationStart()) + deltaMilliseconds;
</del><ins>+ return monotonicTimeToDocumentMilliseconds(m_requestingDocument.get(), m_requestingDocument->loader()->timing().startTime()) + deltaMilliseconds;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceResourceTimingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.h (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceResourceTiming.h        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/page/PerformanceResourceTiming.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><span class="cx">
</span><ins>+#include "NetworkLoadTiming.h"
</ins><span class="cx"> #include "PerformanceEntry.h"
</span><del>-#include "ResourceLoadTiming.h"
</del><span class="cx"> #include <wtf/PassRefPtr.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">
</span><span class="cx"> class Document;
</span><span class="cx"> class URL;
</span><del>-class ResourceLoadTiming;
</del><ins>+class NetworkLoadTiming;
</ins><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><span class="cx">
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> double resourceTimeToDocumentMilliseconds(int deltaMilliseconds) const;
</span><span class="cx">
</span><span class="cx"> AtomicString m_initiatorType;
</span><del>- ResourceLoadTiming m_timing;
</del><ins>+ NetworkLoadTiming m_timing;
</ins><span class="cx"> double m_finishTime;
</span><span class="cx"> bool m_shouldReportDetails;
</span><span class="cx"> RefPtr<Document> m_requestingDocument;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceTimingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceTiming.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceTiming.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/page/PerformanceTiming.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -34,12 +34,12 @@
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><span class="cx">
</span><span class="cx"> #include "Document.h"
</span><del>-#include "DocumentLoadTiming.h"
</del><span class="cx"> #include "DocumentLoader.h"
</span><span class="cx"> #include "DocumentTiming.h"
</span><span class="cx"> #include "Frame.h"
</span><span class="cx"> #include "FrameLoader.h"
</span><del>-#include "ResourceLoadTiming.h"
</del><ins>+#include "LoadTiming.h"
+#include "NetworkLoadTiming.h"
</ins><span class="cx"> #include "ResourceResponse.h"
</span><span class="cx"> #include <wtf/CurrentTime.h>
</span><span class="cx">
</span><span class="lines">@@ -58,16 +58,16 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::navigationStart() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><del>- return monotonicTimeToIntegerMilliseconds(timing->navigationStart());
</del><ins>+ return monotonicTimeToIntegerMilliseconds(timing->startTime());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::unloadEventStart() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::unloadEventEnd() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::redirectStart() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::redirectEnd() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::fetchStart() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return fetchStart();
</span><span class="cx">
</span><del>- const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
</del><ins>+ const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
</ins><span class="cx">
</span><span class="cx"> // This will be -1 when a DNS request is not performed.
</span><span class="cx"> // Rather than exposing a special value that indicates no DNS, we "backfill" with fetchStart.
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return domainLookupStart();
</span><span class="cx">
</span><del>- const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
</del><ins>+ const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
</ins><span class="cx">
</span><span class="cx"> // This will be -1 when a DNS request is not performed.
</span><span class="cx"> // Rather than exposing a special value that indicates no DNS, we "backfill" with domainLookupStart.
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return domainLookupEnd();
</span><span class="cx">
</span><del>- const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
</del><ins>+ const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
</ins><span class="cx">
</span><span class="cx"> // connectStart will be -1 when a network request is not made.
</span><span class="cx"> // Rather than exposing a special value that indicates no new connection, we "backfill" with domainLookupEnd.
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx"> if (connectStart < 0)
</span><span class="cx"> return domainLookupEnd();
</span><span class="cx">
</span><del>- // ResourceLoadTiming's connect phase includes DNS, however Navigation Timing's
</del><ins>+ // NetworkLoadTiming's connect phase includes DNS, however Navigation Timing's
</ins><span class="cx"> // connect phase should not. So if there is DNS time, trim it from the start.
</span><span class="cx"> if (timing.domainLookupEnd >= 0 && timing.domainLookupEnd > connectStart)
</span><span class="cx"> connectStart = timing.domainLookupEnd;
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return connectStart();
</span><span class="cx">
</span><del>- const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
</del><ins>+ const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
</ins><span class="cx">
</span><span class="cx"> // connectEnd will be -1 when a network request is not made.
</span><span class="cx"> // Rather than exposing a special value that indicates no new connection, we "backfill" with connectStart.
</span><span class="lines">@@ -198,7 +198,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><del>- const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
</del><ins>+ const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
</ins><span class="cx">
</span><span class="cx"> if (timing.secureConnectionStart < 0)
</span><span class="cx"> return 0;
</span><span class="lines">@@ -212,7 +212,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return connectEnd();
</span><span class="cx">
</span><del>- const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
</del><ins>+ const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
</ins><span class="cx">
</span><span class="cx"> ASSERT(timing.requestStart >= 0);
</span><span class="cx"> return resourceLoadTimeRelativeToFetchStart(timing.requestStart);
</span><span class="lines">@@ -224,7 +224,7 @@
</span><span class="cx"> if (!loader)
</span><span class="cx"> return requestStart();
</span><span class="cx">
</span><del>- const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
</del><ins>+ const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
</ins><span class="cx">
</span><span class="cx"> ASSERT(timing.responseStart >= 0);
</span><span class="cx"> return resourceLoadTimeRelativeToFetchStart(timing.responseStart);
</span><span class="lines">@@ -232,7 +232,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::responseEnd() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::loadEventStart() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx">
</span><span class="cx"> unsigned long long PerformanceTiming::loadEventEnd() const
</span><span class="cx"> {
</span><del>- DocumentLoadTiming* timing = documentLoadTiming();
</del><ins>+ LoadTiming* timing = loadTiming();
</ins><span class="cx"> if (!timing)
</span><span class="cx"> return 0;
</span><span class="cx">
</span><span class="lines">@@ -322,7 +322,7 @@
</span><span class="cx"> return &document->timing();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-DocumentLoadTiming* PerformanceTiming::documentLoadTiming() const
</del><ins>+LoadTiming* PerformanceTiming::loadTiming() const
</ins><span class="cx"> {
</span><span class="cx"> DocumentLoader* loader = documentLoader();
</span><span class="cx"> if (!loader)
</span><span class="lines">@@ -340,7 +340,7 @@
</span><span class="cx"> unsigned long long PerformanceTiming::monotonicTimeToIntegerMilliseconds(double monotonicSeconds) const
</span><span class="cx"> {
</span><span class="cx"> ASSERT(monotonicSeconds >= 0);
</span><del>- if (const DocumentLoadTiming* timing = documentLoadTiming())
</del><ins>+ if (const LoadTiming* timing = loadTiming())
</ins><span class="cx"> return toIntegerMilliseconds(timing->monotonicTimeToPseudoWallTime(monotonicSeconds));
</span><span class="cx"> return 0;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceTimingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceTiming.h (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceTiming.h        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/page/PerformanceTiming.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -39,11 +39,11 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-class DocumentLoadTiming;
</del><ins>+class LoadTiming;
</ins><span class="cx"> class DocumentLoader;
</span><span class="cx"> struct DocumentTiming;
</span><span class="cx"> class Frame;
</span><del>-class ResourceLoadTiming;
</del><ins>+class NetworkLoadTiming;
</ins><span class="cx">
</span><span class="cx"> class PerformanceTiming : public RefCounted<PerformanceTiming>, public DOMWindowProperty {
</span><span class="cx"> public:
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">
</span><span class="cx"> const DocumentTiming* documentTiming() const;
</span><span class="cx"> DocumentLoader* documentLoader() const;
</span><del>- DocumentLoadTiming* documentLoadTiming() const;
</del><ins>+ LoadTiming* loadTiming() const;
</ins><span class="cx"> unsigned long long resourceLoadTimeRelativeToFetchStart(int) const;
</span><span class="cx"> unsigned long long monotonicTimeToIntegerMilliseconds(double) const;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkNetworkLoadTiminghfromrev204428trunkSourceWebCoreplatformnetworkResourceLoadTimingh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/network/NetworkLoadTiming.h (from rev 204428, trunk/Source/WebCore/platform/network/ResourceLoadTiming.h) (0 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/NetworkLoadTiming.h         (rev 0)
+++ trunk/Source/WebCore/platform/network/NetworkLoadTiming.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -0,0 +1,138 @@
</span><ins>+/*
+ * Copyright (C) 2010 Google, Inc. All Rights Reserved.
+ * Copyright (C) 2014 Apple, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if PLATFORM(COCOA)
+OBJC_CLASS NSDictionary;
+#endif
+
+namespace WebCore {
+
+class NetworkLoadTiming {
+public:
+ NetworkLoadTiming()
+ : domainLookupStart(-1)
+ , domainLookupEnd(-1)
+ , connectStart(-1)
+ , connectEnd(-1)
+ , requestStart(0)
+ , responseStart(0)
+ , secureConnectionStart(-1)
+ {
+ }
+
+ NetworkLoadTiming(const NetworkLoadTiming& other)
+ : domainLookupStart(other.domainLookupStart)
+ , domainLookupEnd(other.domainLookupEnd)
+ , connectStart(other.connectStart)
+ , connectEnd(other.connectEnd)
+ , requestStart(other.requestStart)
+ , responseStart(other.responseStart)
+ , secureConnectionStart(other.secureConnectionStart)
+ {
+ }
+
+ NetworkLoadTiming& operator=(const NetworkLoadTiming& other)
+ {
+ domainLookupStart = other.domainLookupStart;
+ domainLookupEnd = other.domainLookupEnd;
+ connectStart = other.connectStart;
+ connectEnd = other.connectEnd;
+ requestStart = other.requestStart;
+ responseStart = other.responseStart;
+ secureConnectionStart = other.secureConnectionStart;
+ return *this;
+ }
+
+ NetworkLoadTiming isolatedCopy() const
+ {
+ // There are currently no members that need isolated copies, so we can use the copy constructor.
+ return *this;
+ }
+
+ bool operator==(const NetworkLoadTiming& other) const
+ {
+ return domainLookupStart == other.domainLookupStart
+ && domainLookupEnd == other.domainLookupEnd
+ && connectStart == other.connectStart
+ && connectEnd == other.connectEnd
+ && requestStart == other.requestStart
+ && responseStart == other.responseStart
+ && secureConnectionStart == other.secureConnectionStart;
+ }
+
+ bool operator!=(const NetworkLoadTiming& other) const
+ {
+ return !(*this == other);
+ }
+
+ template<class Encoder> void encode(Encoder&) const;
+ template<class Decoder> static bool decode(Decoder&, NetworkLoadTiming&);
+
+ // These are millisecond deltas from the navigation start.
+ int domainLookupStart;
+ int domainLookupEnd;
+ int connectStart;
+ int connectEnd;
+ int requestStart;
+ int responseStart;
+ int secureConnectionStart;
+};
+
+#if PLATFORM(COCOA)
+WEBCORE_EXPORT void copyTimingData(NSDictionary *timingData, NetworkLoadTiming&);
+#endif
+
+#if PLATFORM(COCOA) && !HAVE(TIMINGDATAOPTIONS)
+WEBCORE_EXPORT void setCollectsTimingData();
+#endif
+
+template<class Encoder>
+void NetworkLoadTiming::encode(Encoder& encoder) const
+{
+ encoder << domainLookupStart;
+ encoder << domainLookupEnd;
+ encoder << connectStart;
+ encoder << connectEnd;
+ encoder << requestStart;
+ encoder << responseStart;
+ encoder << secureConnectionStart;
+}
+
+template<class Decoder>
+bool NetworkLoadTiming::decode(Decoder& decoder, NetworkLoadTiming& timing)
+{
+ return decoder.decode(timing.domainLookupStart)
+ && decoder.decode(timing.domainLookupEnd)
+ && decoder.decode(timing.connectStart)
+ && decoder.decode(timing.connectEnd)
+ && decoder.decode(timing.requestStart)
+ && decoder.decode(timing.responseStart)
+ && decoder.decode(timing.secureConnectionStart);
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceHandleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceHandle.h (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceHandle.h        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/ResourceHandle.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> class ResourceError;
</span><span class="cx"> class ResourceHandleClient;
</span><span class="cx"> class ResourceHandleInternal;
</span><del>-class ResourceLoadTiming;
</del><ins>+class NetworkLoadTiming;
</ins><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><span class="cx"> class SharedBuffer;
</span><span class="lines">@@ -134,9 +134,9 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(COCOA) && ENABLE(WEB_TIMING)
</span><span class="cx"> #if USE(CFNETWORK)
</span><del>- static void getConnectionTimingData(CFURLConnectionRef, ResourceLoadTiming&);
</del><ins>+ static void getConnectionTimingData(CFURLConnectionRef, NetworkLoadTiming&);
</ins><span class="cx"> #else
</span><del>- static void getConnectionTimingData(NSURLConnection *, ResourceLoadTiming&);
</del><ins>+ static void getConnectionTimingData(NSURLConnection *, NetworkLoadTiming&);
</ins><span class="cx"> #endif
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceLoadTimingh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/network/ResourceLoadTiming.h (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceLoadTiming.h        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/ResourceLoadTiming.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1,141 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Google, Inc. All Rights Reserved.
- * Copyright (C) 2014 Apple, Inc. All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ResourceLoadTiming_h
-#define ResourceLoadTiming_h
-
-#if PLATFORM(COCOA)
-OBJC_CLASS NSDictionary;
-#endif
-
-namespace WebCore {
-
-class ResourceLoadTiming {
-public:
- ResourceLoadTiming()
- : domainLookupStart(-1)
- , domainLookupEnd(-1)
- , connectStart(-1)
- , connectEnd(-1)
- , requestStart(0)
- , responseStart(0)
- , secureConnectionStart(-1)
- {
- }
-
- ResourceLoadTiming(const ResourceLoadTiming& other)
- : domainLookupStart(other.domainLookupStart)
- , domainLookupEnd(other.domainLookupEnd)
- , connectStart(other.connectStart)
- , connectEnd(other.connectEnd)
- , requestStart(other.requestStart)
- , responseStart(other.responseStart)
- , secureConnectionStart(other.secureConnectionStart)
- {
- }
-
- ResourceLoadTiming& operator=(const ResourceLoadTiming& other)
- {
- domainLookupStart = other.domainLookupStart;
- domainLookupEnd = other.domainLookupEnd;
- connectStart = other.connectStart;
- connectEnd = other.connectEnd;
- requestStart = other.requestStart;
- responseStart = other.responseStart;
- secureConnectionStart = other.secureConnectionStart;
- return *this;
- }
-
- ResourceLoadTiming isolatedCopy() const
- {
- // There are currently no members that need isolated copies, so we can use the copy constructor.
- return *this;
- }
-
- bool operator==(const ResourceLoadTiming& other) const
- {
- return domainLookupStart == other.domainLookupStart
- && domainLookupEnd == other.domainLookupEnd
- && connectStart == other.connectStart
- && connectEnd == other.connectEnd
- && requestStart == other.requestStart
- && responseStart == other.responseStart
- && secureConnectionStart == other.secureConnectionStart;
- }
-
- bool operator!=(const ResourceLoadTiming& other) const
- {
- return !(*this == other);
- }
-
- template<class Encoder> void encode(Encoder&) const;
- template<class Decoder> static bool decode(Decoder&, ResourceLoadTiming&);
-
- // These are millisecond deltas from the navigation start.
- int domainLookupStart;
- int domainLookupEnd;
- int connectStart;
- int connectEnd;
- int requestStart;
- int responseStart;
- int secureConnectionStart;
-};
-
-#if PLATFORM(COCOA)
-WEBCORE_EXPORT void copyTimingData(NSDictionary *timingData, ResourceLoadTiming&);
-#endif
-
-#if PLATFORM(COCOA) && !HAVE(TIMINGDATAOPTIONS)
-WEBCORE_EXPORT void setCollectsTimingData();
-#endif
-
-template<class Encoder>
-void ResourceLoadTiming::encode(Encoder& encoder) const
-{
- encoder << domainLookupStart;
- encoder << domainLookupEnd;
- encoder << connectStart;
- encoder << connectEnd;
- encoder << requestStart;
- encoder << responseStart;
- encoder << secureConnectionStart;
-}
-
-template<class Decoder>
-bool ResourceLoadTiming::decode(Decoder& decoder, ResourceLoadTiming& timing)
-{
- return decoder.decode(timing.domainLookupStart)
- && decoder.decode(timing.domainLookupEnd)
- && decoder.decode(timing.connectStart)
- && decoder.decode(timing.connectEnd)
- && decoder.decode(timing.requestStart)
- && decoder.decode(timing.responseStart)
- && decoder.decode(timing.secureConnectionStart);
-}
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceResponseBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx"> data.httpVersion = httpVersion().isolatedCopy();
</span><span class="cx">
</span><span class="cx"> data.httpHeaderFields = httpHeaderFields().isolatedCopy();
</span><del>- data.resourceLoadTiming = m_resourceLoadTiming.isolatedCopy();
</del><ins>+ data.networkLoadTiming = m_networkLoadTiming.isolatedCopy();
</ins><span class="cx"> data.type = m_type;
</span><span class="cx"> data.isRedirected = m_isRedirected;
</span><span class="cx">
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> response.setHTTPVersion(data.httpVersion);
</span><span class="cx">
</span><span class="cx"> response.m_httpHeaderFields = WTFMove(data.httpHeaderFields);
</span><del>- response.m_resourceLoadTiming = data.resourceLoadTiming;
</del><ins>+ response.m_networkLoadTiming = data.networkLoadTiming;
</ins><span class="cx"> response.m_type = data.type;
</span><span class="cx"> response.m_isRedirected = data.isRedirected;
</span><span class="cx">
</span><span class="lines">@@ -575,7 +575,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> if (a.httpHeaderFields() != b.httpHeaderFields())
</span><span class="cx"> return false;
</span><del>- if (a.resourceLoadTiming() != b.resourceLoadTiming())
</del><ins>+ if (a.networkLoadTiming() != b.networkLoadTiming())
</ins><span class="cx"> return false;
</span><span class="cx"> return ResourceResponse::platformCompare(a, b);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceResponseBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.h (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceResponseBase.h        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.h        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -29,8 +29,8 @@
</span><span class="cx"> #include "CacheValidation.h"
</span><span class="cx"> #include "CertificateInfo.h"
</span><span class="cx"> #include "HTTPHeaderMap.h"
</span><ins>+#include "NetworkLoadTiming.h"
</ins><span class="cx"> #include "ParsedContentRange.h"
</span><del>-#include "ResourceLoadTiming.h"
</del><span class="cx"> #include "URL.h"
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> String httpStatusText;
</span><span class="cx"> String httpVersion;
</span><span class="cx"> HTTPHeaderMap httpHeaderFields;
</span><del>- ResourceLoadTiming resourceLoadTiming;
</del><ins>+ NetworkLoadTiming networkLoadTiming;
</ins><span class="cx"> Type type;
</span><span class="cx"> bool isRedirected;
</span><span class="cx"> };
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx"> WEBCORE_EXPORT Source source() const;
</span><span class="cx"> WEBCORE_EXPORT void setSource(Source);
</span><span class="cx">
</span><del>- ResourceLoadTiming& resourceLoadTiming() const { return m_resourceLoadTiming; }
</del><ins>+ NetworkLoadTiming& networkLoadTiming() const { return m_networkLoadTiming; }
</ins><span class="cx">
</span><span class="cx"> // The ResourceResponse subclass may "shadow" this method to provide platform-specific memory usage information
</span><span class="cx"> unsigned memoryUsage() const
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx"> AtomicString m_httpStatusText;
</span><span class="cx"> AtomicString m_httpVersion;
</span><span class="cx"> HTTPHeaderMap m_httpHeaderFields;
</span><del>- mutable ResourceLoadTiming m_resourceLoadTiming;
</del><ins>+ mutable NetworkLoadTiming m_networkLoadTiming;
</ins><span class="cx">
</span><span class="cx"> mutable Optional<CertificateInfo> m_certificateInfo;
</span><span class="cx">
</span><span class="lines">@@ -232,7 +232,7 @@
</span><span class="cx"> encoder << m_httpStatusText;
</span><span class="cx"> encoder << m_httpVersion;
</span><span class="cx"> encoder << m_httpHeaderFields;
</span><del>- encoder << m_resourceLoadTiming;
</del><ins>+ encoder << m_networkLoadTiming;
</ins><span class="cx"> encoder << m_httpStatusCode;
</span><span class="cx"> encoder << m_certificateInfo;
</span><span class="cx"> encoder.encodeEnum(m_source);
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> if (!decoder.decode(response.m_httpHeaderFields))
</span><span class="cx"> return false;
</span><del>- if (!decoder.decode(response.m_resourceLoadTiming))
</del><ins>+ if (!decoder.decode(response.m_networkLoadTiming))
</ins><span class="cx"> return false;
</span><span class="cx"> if (!decoder.decode(response.m_httpStatusCode))
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfResourceHandleCFURLConnectionDelegateWithOperationQueuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">
</span><span class="cx"> ResourceResponse resourceResponse(cfResponse);
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><del>- ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
</del><ins>+ ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(connection);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfSynchronousResourceHandleCFURLConnectionDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx">
</span><span class="cx"> ResourceResponse resourceResponse(cfResponse);
</span><span class="cx"> #if PLATFORM(COCOA) && ENABLE(WEB_TIMING)
</span><del>- ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
</del><ins>+ ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(connection);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcocoaNetworkLoadTimingmmfromrev204428trunkSourceWebCoreplatformnetworkcocoaResourceLoadTimingmm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/platform/network/cocoa/NetworkLoadTiming.mm (from rev 204428, trunk/Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm) (0 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cocoa/NetworkLoadTiming.mm         (rev 0)
+++ trunk/Source/WebCore/platform/network/cocoa/NetworkLoadTiming.mm        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -0,0 +1,77 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "NetworkLoadTiming.h"
+
+#import <WebCore/NSURLConnectionSPI.h>
+
+namespace WebCore {
+
+static double timingValue(NSDictionary *timingData, NSString *key)
+{
+ if (id object = [timingData objectForKey:key])
+ return [object doubleValue];
+ return 0.0;
+}
+
+void copyTimingData(NSDictionary *timingData, NetworkLoadTiming& timing)
+{
+ if (!timingData)
+ return;
+
+ // This is not the navigationStart time in monotonic time, but the other times are relative to this time
+ // and only the differences between times are stored.
+ double referenceStart = timingValue(timingData, @"_kCFNTimingDataFetchStart");
+
+ double domainLookupStart = timingValue(timingData, @"_kCFNTimingDataDomainLookupStart");
+ double domainLookupEnd = timingValue(timingData, @"_kCFNTimingDataDomainLookupEnd");
+ double connectStart = timingValue(timingData, @"_kCFNTimingDataConnectStart");
+ double secureConnectionStart = timingValue(timingData, @"_kCFNTimingDataSecureConnectionStart");
+ double connectEnd = timingValue(timingData, @"_kCFNTimingDataConnectEnd");
+ double requestStart = timingValue(timingData, @"_kCFNTimingDataRequestStart");
+ double responseStart = timingValue(timingData, @"_kCFNTimingDataResponseStart");
+
+ timing.domainLookupStart = domainLookupStart <= 0 ? -1 : (domainLookupStart - referenceStart) * 1000;
+ timing.domainLookupEnd = domainLookupEnd <= 0 ? -1 : (domainLookupEnd - referenceStart) * 1000;
+ timing.connectStart = connectStart <= 0 ? -1 : (connectStart - referenceStart) * 1000;
+ timing.secureConnectionStart = secureConnectionStart <= 0 ? -1 : (secureConnectionStart - referenceStart) * 1000;
+ timing.connectEnd = connectEnd <= 0 ? -1 : (connectEnd - referenceStart) * 1000;
+ timing.requestStart = requestStart <= 0 ? 0 : (requestStart - referenceStart) * 1000;
+ timing.responseStart = responseStart <= 0 ? 0 : (responseStart - referenceStart) * 1000;
+}
+
+#if !HAVE(TIMINGDATAOPTIONS)
+void setCollectsTimingData()
+{
+ static dispatch_once_t onceToken;
+ dispatch_once(&onceToken, ^{
+ [NSURLConnection _setCollectsTimingData:YES];
+ [NSURLConnection _collectTimingDataWithOptions:TimingDataCollectionNStatsOff | TimingDataCollectionConnectionDataOff];
+ });
+}
+#endif
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcocoaResourceLoadTimingmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1,77 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "ResourceLoadTiming.h"
-
-#import <WebCore/NSURLConnectionSPI.h>
-
-namespace WebCore {
-
-static double timingValue(NSDictionary *timingData, NSString *key)
-{
- if (id object = [timingData objectForKey:key])
- return [object doubleValue];
- return 0.0;
-}
-
-void copyTimingData(NSDictionary *timingData, ResourceLoadTiming& timing)
-{
- if (!timingData)
- return;
-
- // This is not the navigationStart time in monotonic time, but the other times are relative to this time
- // and only the differences between times are stored.
- double referenceStart = timingValue(timingData, @"_kCFNTimingDataFetchStart");
-
- double domainLookupStart = timingValue(timingData, @"_kCFNTimingDataDomainLookupStart");
- double domainLookupEnd = timingValue(timingData, @"_kCFNTimingDataDomainLookupEnd");
- double connectStart = timingValue(timingData, @"_kCFNTimingDataConnectStart");
- double secureConnectionStart = timingValue(timingData, @"_kCFNTimingDataSecureConnectionStart");
- double connectEnd = timingValue(timingData, @"_kCFNTimingDataConnectEnd");
- double requestStart = timingValue(timingData, @"_kCFNTimingDataRequestStart");
- double responseStart = timingValue(timingData, @"_kCFNTimingDataResponseStart");
-
- timing.domainLookupStart = domainLookupStart <= 0 ? -1 : (domainLookupStart - referenceStart) * 1000;
- timing.domainLookupEnd = domainLookupEnd <= 0 ? -1 : (domainLookupEnd - referenceStart) * 1000;
- timing.connectStart = connectStart <= 0 ? -1 : (connectStart - referenceStart) * 1000;
- timing.secureConnectionStart = secureConnectionStart <= 0 ? -1 : (secureConnectionStart - referenceStart) * 1000;
- timing.connectEnd = connectEnd <= 0 ? -1 : (connectEnd - referenceStart) * 1000;
- timing.requestStart = requestStart <= 0 ? 0 : (requestStart - referenceStart) * 1000;
- timing.responseStart = responseStart <= 0 ? 0 : (responseStart - referenceStart) * 1000;
-}
-
-#if !HAVE(TIMINGDATAOPTIONS)
-void setCollectsTimingData()
-{
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- [NSURLConnection _setCollectsTimingData:YES];
- [NSURLConnection _collectTimingDataWithOptions:TimingDataCollectionNStatsOff | TimingDataCollectionConnectionDataOff];
- });
-}
-#endif
-
-}
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlResourceHandleManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -188,17 +188,17 @@
</span><span class="cx"> curl_easy_getinfo(d->m_handle, CURLINFO_STARTTRANSFER_TIME, &startTransfertTime);
</span><span class="cx"> curl_easy_getinfo(d->m_handle, CURLINFO_PRETRANSFER_TIME, &preTransferTime);
</span><span class="cx">
</span><del>- d->m_response.resourceLoadTiming().domainLookupStart = 0;
- d->m_response.resourceLoadTiming().domainLookupEnd = static_cast<int>(dnslookupTime * 1000);
</del><ins>+ d->m_response.networkLoadTiming().domainLookupStart = 0;
+ d->m_response.networkLoadTiming().domainLookupEnd = static_cast<int>(dnslookupTime * 1000);
</ins><span class="cx">
</span><del>- d->m_response.resourceLoadTiming().connectStart = static_cast<int>(dnslookupTime * 1000);
- d->m_response.resourceLoadTiming().connectEnd = static_cast<int>(connectTime * 1000);
</del><ins>+ d->m_response.networkLoadTiming().connectStart = static_cast<int>(dnslookupTime * 1000);
+ d->m_response.networkLoadTiming().connectEnd = static_cast<int>(connectTime * 1000);
</ins><span class="cx">
</span><del>- d->m_response.resourceLoadTiming().requestStart = static_cast<int>(connectTime *1000);
- d->m_response.resourceLoadTiming().responseStart =static_cast<int>(preTransferTime * 1000);
</del><ins>+ d->m_response.networkLoadTiming().requestStart = static_cast<int>(connectTime *1000);
+ d->m_response.networkLoadTiming().responseStart =static_cast<int>(preTransferTime * 1000);
</ins><span class="cx">
</span><span class="cx"> if (appConnectTime)
</span><del>- d->m_response.resourceLoadTiming().secureConnectionStart = static_cast<int>(connectTime * 1000);
</del><ins>+ d->m_response.networkLoadTiming().secureConnectionStart = static_cast<int>(connectTime * 1000);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacResourceHandleMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -737,7 +737,7 @@
</span><span class="cx">
</span><span class="cx"> #if USE(CFNETWORK)
</span><span class="cx">
</span><del>-void ResourceHandle::getConnectionTimingData(CFURLConnectionRef connection, ResourceLoadTiming& timing)
</del><ins>+void ResourceHandle::getConnectionTimingData(CFURLConnectionRef connection, NetworkLoadTiming& timing)
</ins><span class="cx"> {
</span><span class="cx"> copyTimingData((__bridge NSDictionary*)adoptCF(_CFURLConnectionCopyTimingData(connection)).get(), timing);
</span><span class="cx"> }
</span><span class="lines">@@ -744,7 +744,7 @@
</span><span class="cx">
</span><span class="cx"> #else
</span><span class="cx">
</span><del>-void ResourceHandle::getConnectionTimingData(NSURLConnection *connection, ResourceLoadTiming& timing)
</del><ins>+void ResourceHandle::getConnectionTimingData(NSURLConnection *connection, NetworkLoadTiming& timing)
</ins><span class="cx"> {
</span><span class="cx"> copyTimingData([connection _timingData], timing);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacWebCoreResourceHandleAsDelegatemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx"> ResourceResponse resourceResponse(r);
</span><span class="cx"> resourceResponse.setSource(ResourceResponse::Source::Network);
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><del>- ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
</del><ins>+ ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(connection);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacWebCoreResourceHandleAsOperationQueueDelegatemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -195,7 +195,7 @@
</span><span class="cx">
</span><span class="cx"> ResourceResponse resourceResponse(r);
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><del>- ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
</del><ins>+ ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(connection);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupResourceHandleSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -709,7 +709,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEB_TIMING)
</span><del>- d->m_response.resourceLoadTiming().responseStart = milisecondsSinceRequest(handle->m_requestTime);
</del><ins>+ d->m_response.networkLoadTiming().responseStart = milisecondsSinceRequest(handle->m_requestTime);
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (soupMessage && d->m_response.isMultipart())
</span><span class="lines">@@ -843,7 +843,7 @@
</span><span class="cx">
</span><span class="cx"> void ResourceHandle::didStartRequest()
</span><span class="cx"> {
</span><del>- getInternal()->m_response.resourceLoadTiming().requestStart = milisecondsSinceRequest(m_requestTime);
</del><ins>+ getInternal()->m_response.networkLoadTiming().requestStart = milisecondsSinceRequest(m_requestTime);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if SOUP_CHECK_VERSION(2, 49, 91)
</span><span class="lines">@@ -866,21 +866,21 @@
</span><span class="cx"> int deltaTime = milisecondsSinceRequest(handle->m_requestTime);
</span><span class="cx"> switch (event) {
</span><span class="cx"> case G_SOCKET_CLIENT_RESOLVING:
</span><del>- d->m_response.resourceLoadTiming().domainLookupStart = deltaTime;
</del><ins>+ d->m_response.networkLoadTiming().domainLookupStart = deltaTime;
</ins><span class="cx"> break;
</span><span class="cx"> case G_SOCKET_CLIENT_RESOLVED:
</span><del>- d->m_response.resourceLoadTiming().domainLookupEnd = deltaTime;
</del><ins>+ d->m_response.networkLoadTiming().domainLookupEnd = deltaTime;
</ins><span class="cx"> break;
</span><span class="cx"> case G_SOCKET_CLIENT_CONNECTING:
</span><del>- d->m_response.resourceLoadTiming().connectStart = deltaTime;
- if (d->m_response.resourceLoadTiming().domainLookupStart != -1) {
</del><ins>+ d->m_response.networkLoadTiming().connectStart = deltaTime;
+ if (d->m_response.networkLoadTiming().domainLookupStart != -1) {
</ins><span class="cx"> // WebCore/inspector/front-end/RequestTimingView.js assumes
</span><span class="cx"> // that DNS time is included in connection time so must
</span><span class="cx"> // substract here the DNS delta that will be added later (see
</span><span class="cx"> // WebInspector.RequestTimingView.createTimingTable in the
</span><span class="cx"> // file above for more details).
</span><del>- d->m_response.resourceLoadTiming().connectStart -=
- d->m_response.resourceLoadTiming().domainLookupEnd - d->m_response.resourceLoadTiming().domainLookupStart;
</del><ins>+ d->m_response.networkLoadTiming().connectStart -=
+ d->m_response.networkLoadTiming().domainLookupEnd - d->m_response.networkLoadTiming().domainLookupStart;
</ins><span class="cx"> }
</span><span class="cx"> break;
</span><span class="cx"> case G_SOCKET_CLIENT_CONNECTED:
</span><span class="lines">@@ -892,12 +892,12 @@
</span><span class="cx"> case G_SOCKET_CLIENT_PROXY_NEGOTIATED:
</span><span class="cx"> break;
</span><span class="cx"> case G_SOCKET_CLIENT_TLS_HANDSHAKING:
</span><del>- d->m_response.resourceLoadTiming().secureConnectionStart = deltaTime;
</del><ins>+ d->m_response.networkLoadTiming().secureConnectionStart = deltaTime;
</ins><span class="cx"> break;
</span><span class="cx"> case G_SOCKET_CLIENT_TLS_HANDSHAKED:
</span><span class="cx"> break;
</span><span class="cx"> case G_SOCKET_CLIENT_COMPLETE:
</span><del>- d->m_response.resourceLoadTiming().connectEnd = deltaTime;
</del><ins>+ d->m_response.networkLoadTiming().connectEnd = deltaTime;
</ins><span class="cx"> break;
</span><span class="cx"> default:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebKit2/ChangeLog        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-08-12 Johan K. Jensen <johan_jensen@apple.com>
+
+ Rename DocumentLoadTiming and ResourceLoadTiming
+ https://bugs.webkit.org/show_bug.cgi?id=160821
+
+ Reviewed by Alex Christensen.
+
+ Rename ResourceLoadTiming to NetworkLoadTiming.
+
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
+
</ins><span class="cx"> 2016-08-12 Anders Carlsson <andersca@apple.com>
</span><span class="cx">
</span><span class="cx"> message loading never finishes in Mail
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcesscocoaNetworkSessionCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm (204428 => 204429)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm        2016-08-12 22:32:55 UTC (rev 204428)
+++ trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm        2016-08-12 22:53:27 UTC (rev 204429)
</span><span class="lines">@@ -40,10 +40,10 @@
</span><span class="cx"> #import <WebCore/CFNetworkSPI.h>
</span><span class="cx"> #import <WebCore/Credential.h>
</span><span class="cx"> #import <WebCore/FrameLoaderTypes.h>
</span><ins>+#import <WebCore/NetworkLoadTiming.h>
</ins><span class="cx"> #import <WebCore/NetworkStorageSession.h>
</span><span class="cx"> #import <WebCore/NotImplemented.h>
</span><span class="cx"> #import <WebCore/ResourceError.h>
</span><del>-#import <WebCore/ResourceLoadTiming.h>
</del><span class="cx"> #import <WebCore/ResourceRequest.h>
</span><span class="cx"> #import <WebCore/ResourceResponse.h>
</span><span class="cx"> #import <WebCore/SharedBuffer.h>
</span><span class="lines">@@ -249,7 +249,7 @@
</span><span class="cx"> // all the fields when sending the response to the WebContent process over IPC.
</span><span class="cx"> resourceResponse.disableLazyInitialization();
</span><span class="cx">
</span><del>- copyTimingData([dataTask _timingData], resourceResponse.resourceLoadTiming());
</del><ins>+ copyTimingData([dataTask _timingData], resourceResponse.networkLoadTiming());
</ins><span class="cx"> auto completionHandlerCopy = Block_copy(completionHandler);
</span><span class="cx"> networkDataTask->didReceiveResponse(WTFMove(resourceResponse), [completionHandlerCopy, taskIdentifier](WebCore::PolicyAction policyAction) {
</span><span class="cx"> LOG(NetworkSession, "%llu didReceiveResponse completionHandler (cancel)", taskIdentifier);
</span></span></pre>
</div>
</div>
</body>
</html>