Title: [204429] trunk/Source
Revision
204429
Author
[email protected]
Date
2016-08-12 15:53:27 -0700 (Fri, 12 Aug 2016)

Log Message

Rename DocumentLoadTiming and ResourceLoadTiming
https://bugs.webkit.org/show_bug.cgi?id=160821

Patch by Johan K. Jensen <[email protected]> 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:]):

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (204428 => 204429)


--- 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)
@@ -1912,7 +1912,6 @@
     loader/CrossOriginAccessControl.cpp
     loader/CrossOriginPreflightChecker.cpp
     loader/CrossOriginPreflightResultCache.cpp
-    loader/DocumentLoadTiming.cpp
     loader/DocumentLoader.cpp
     loader/DocumentThreadableLoader.cpp
     loader/DocumentWriter.cpp
@@ -1926,6 +1925,7 @@
     loader/HistoryController.cpp
     loader/ImageLoader.cpp
     loader/LinkLoader.cpp
+    loader/LoadTiming.cpp
     loader/LoaderStrategy.cpp
     loader/MediaResourceLoader.cpp
     loader/MixedContentChecker.cpp

Modified: trunk/Source/WebCore/ChangeLog (204428 => 204429)


--- 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)
@@ -1,3 +1,127 @@
+2016-08-12  Johan K. Jensen  <[email protected]>
+
+        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):
+
 2016-08-12  Joseph Pecoraro  <[email protected]>
 
         Remove unused includes of RefCountedLeakCounter.h

Modified: trunk/Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp (204428 => 204429)


--- 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)
@@ -66,7 +66,7 @@
 
         if (Frame* frame = navigator->frame()) {
             if (DocumentLoader* documentLoader = frame->loader().documentLoader())
-                supplement->m_navigationStart = documentLoader->timing().navigationStart();
+                supplement->m_navigationStart = documentLoader->timing().startTime();
         }
     }
     return supplement;

Modified: trunk/Source/WebCore/PlatformMac.cmake (204428 => 204429)


--- 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)
@@ -653,8 +653,8 @@
     platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp
 
     platform/network/cocoa/CredentialCocoa.mm
+    platform/network/cocoa/NetworkLoadTiming.mm
     platform/network/cocoa/ProtectionSpaceCocoa.mm
-    platform/network/cocoa/ResourceLoadTiming.mm
     platform/network/cocoa/ResourceRequestCocoa.mm
     platform/network/cocoa/ResourceResponseCocoa.mm
     platform/network/cocoa/WebCoreNSURLSession.mm

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (204428 => 204429)


--- 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)
@@ -2409,7 +2409,7 @@
 		5C7C88D81D0F1F4A009D2F6D /* SocketProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C7C88D71D0F1F2B009D2F6D /* SocketProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		5C9A7A751AA0F6EA00958ACF /* DFABytecodeCompiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C39305E1AA0F6A90029C816 /* DFABytecodeCompiler.cpp */; };
 		5C9A7A761AA0F6ED00958ACF /* DFABytecodeInterpreter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C3930601AA0F6A90029C816 /* DFABytecodeInterpreter.cpp */; };
-		5C9B860C1C21E3C900110F36 /* ResourceLoadTiming.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */; };
+		5C9B860C1C21E3C900110F36 /* NetworkLoadTiming.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C9B860B1C21E3C600110F36 /* NetworkLoadTiming.mm */; };
 		5CB37FFE1C62D28C00F20188 /* ScrollAnimatorMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CB37FFC1C62D27800F20188 /* ScrollAnimatorMock.cpp */; };
 		5CB37FFF1C62D2A100F20188 /* ScrollAnimatorMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB37FFD1C62D27800F20188 /* ScrollAnimatorMock.h */; };
 		5CBC8DAC1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CBC8DAA1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp */; };
@@ -3354,7 +3354,7 @@
 		85F74E0A0AA8DF8C000DC284 /* DOMCSSUnknownRule.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 85032DD50AA8C9BE007D3B7D /* DOMCSSUnknownRule.h */; };
 		85FF315A0AAFBFCB00374F38 /* DOMKeyboardEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 85FF31580AAFBFCB00374F38 /* DOMKeyboardEvent.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		85FF315B0AAFBFCB00374F38 /* DOMKeyboardEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 85FF31590AAFBFCB00374F38 /* DOMKeyboardEvent.mm */; };
-		861C2EA413FB4FDD00062ABB /* DocumentLoadTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 861C2EA313FB4FDD00062ABB /* DocumentLoadTiming.cpp */; };
+		861C2EA413FB4FDD00062ABB /* LoadTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 861C2EA313FB4FDD00062ABB /* LoadTiming.cpp */; };
 		862F129E18C1576F005C54AF /* CountedUserActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 862F129D18C1572C005C54AF /* CountedUserActivity.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		862F12A018C1DD02005C54AF /* HysteresisActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 862F129F18C1DCE4005C54AF /* HysteresisActivity.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		86512EDE154A2AEF00A90426 /* PerformanceResourceTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86512EDB154A2AEE00A90426 /* PerformanceResourceTiming.cpp */; };
@@ -3377,13 +3377,13 @@
 		89B5EAA211E8003D00F2367E /* LineEnding.h in Headers */ = {isa = PBXBuildFile; fileRef = 89B5EAA011E8003D00F2367E /* LineEnding.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		89F60B11157F686E0075E157 /* DOMWindowQuota.h in Headers */ = {isa = PBXBuildFile; fileRef = 89F60B0A157F686D0075E157 /* DOMWindowQuota.h */; };
 		89F60CDA15809D760075E157 /* JSStorageInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 89F60CD215809D760075E157 /* JSStorageInfo.h */; };
-		8A12E35D11FA33280025836A /* DocumentLoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A12E35C11FA33280025836A /* DocumentLoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		8A12E35D11FA33280025836A /* LoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A12E35C11FA33280025836A /* LoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		8A309C9F123950BE00CB9204 /* NestingLevelIncrementer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A309C9E123950BE00CB9204 /* NestingLevelIncrementer.h */; };
 		8A413AE01207BBA50082016E /* ScriptRunner.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A413ADE1207BBA50082016E /* ScriptRunner.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		8A413AE11207BBA50082016E /* ScriptRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A413ADF1207BBA50082016E /* ScriptRunner.cpp */; };
 		8A7CC96B12076D73001D4588 /* PendingScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A7CC96A12076D73001D4588 /* PendingScript.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		8A7CC97012076F8A001D4588 /* PendingScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A7CC96F12076F8A001D4588 /* PendingScript.cpp */; };
-		8A81BF8511DCFD9000DA2B98 /* ResourceLoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A81BF8411DCFD9000DA2B98 /* ResourceLoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		8A81BF8511DCFD9000DA2B98 /* NetworkLoadTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A81BF8411DCFD9000DA2B98 /* NetworkLoadTiming.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		8A844D0511D3C18E0014065C /* Performance.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A844D0211D3C18E0014065C /* Performance.h */; };
 		8A9A587011E84C36008ACFD1 /* JSPerformanceNavigation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A9A586E11E84C35008ACFD1 /* JSPerformanceNavigation.cpp */; };
 		8A9A587111E84C36008ACFD1 /* JSPerformanceNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A9A586F11E84C36008ACFD1 /* JSPerformanceNavigation.h */; };
@@ -9771,7 +9771,7 @@
 		5C6E653F1D5CEDC900F7862E /* URLParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = URLParser.cpp; sourceTree = "<group>"; };
 		5C6E65401D5CEDC900F7862E /* URLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = URLParser.h; sourceTree = "<group>"; };
 		5C7C88D71D0F1F2B009D2F6D /* SocketProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketProvider.h; sourceTree = "<group>"; };
-		5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ResourceLoadTiming.mm; sourceTree = "<group>"; };
+		5C9B860B1C21E3C600110F36 /* NetworkLoadTiming.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkLoadTiming.mm; sourceTree = "<group>"; };
 		5CB37FFC1C62D27800F20188 /* ScrollAnimatorMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollAnimatorMock.cpp; sourceTree = "<group>"; };
 		5CB37FFD1C62D27800F20188 /* ScrollAnimatorMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollAnimatorMock.h; sourceTree = "<group>"; };
 		5CBC8DAA1AAA302200E1C803 /* MediaAccessibilitySoftLink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaAccessibilitySoftLink.cpp; sourceTree = "<group>"; };
@@ -10828,7 +10828,7 @@
 		85F56A790A98CE3700ADB60A /* DOMProcessingInstruction.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMProcessingInstruction.mm; sourceTree = "<group>"; };
 		85FF31580AAFBFCB00374F38 /* DOMKeyboardEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = DOMKeyboardEvent.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
 		85FF31590AAFBFCB00374F38 /* DOMKeyboardEvent.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = DOMKeyboardEvent.mm; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
-		861C2EA313FB4FDD00062ABB /* DocumentLoadTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentLoadTiming.cpp; sourceTree = "<group>"; };
+		861C2EA313FB4FDD00062ABB /* LoadTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadTiming.cpp; sourceTree = "<group>"; };
 		862F129D18C1572C005C54AF /* CountedUserActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CountedUserActivity.h; sourceTree = "<group>"; };
 		862F129F18C1DCE4005C54AF /* HysteresisActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HysteresisActivity.h; sourceTree = "<group>"; };
 		86512EDB154A2AEE00A90426 /* PerformanceResourceTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerformanceResourceTiming.cpp; sourceTree = "<group>"; };
@@ -10866,13 +10866,13 @@
 		89F60B0A157F686D0075E157 /* DOMWindowQuota.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindowQuota.h; sourceTree = "<group>"; };
 		89F60CD215809D760075E157 /* JSStorageInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSStorageInfo.h; sourceTree = "<group>"; };
 		89FD58D816EEDBD400E183F0 /* NavigatorStorageQuota.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NavigatorStorageQuota.h; sourceTree = "<group>"; };
-		8A12E35C11FA33280025836A /* DocumentLoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentLoadTiming.h; sourceTree = "<group>"; };
+		8A12E35C11FA33280025836A /* LoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadTiming.h; sourceTree = "<group>"; };
 		8A309C9E123950BE00CB9204 /* NestingLevelIncrementer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NestingLevelIncrementer.h; sourceTree = "<group>"; };
 		8A413ADE1207BBA50082016E /* ScriptRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptRunner.h; sourceTree = "<group>"; };
 		8A413ADF1207BBA50082016E /* ScriptRunner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptRunner.cpp; sourceTree = "<group>"; };
 		8A7CC96A12076D73001D4588 /* PendingScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PendingScript.h; sourceTree = "<group>"; };
 		8A7CC96F12076F8A001D4588 /* PendingScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PendingScript.cpp; sourceTree = "<group>"; };
-		8A81BF8411DCFD9000DA2B98 /* ResourceLoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResourceLoadTiming.h; sourceTree = "<group>"; };
+		8A81BF8411DCFD9000DA2B98 /* NetworkLoadTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkLoadTiming.h; sourceTree = "<group>"; };
 		8A844D0211D3C18E0014065C /* Performance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Performance.h; sourceTree = "<group>"; };
 		8A844D0311D3C18E0014065C /* Performance.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Performance.idl; sourceTree = "<group>"; };
 		8A9A586E11E84C35008ACFD1 /* JSPerformanceNavigation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPerformanceNavigation.cpp; sourceTree = "<group>"; };
@@ -17952,7 +17952,7 @@
 				514C76660CE923A1007EF3CD /* ResourceHandleInternal.h */,
 				51E4143216A6595100C633C7 /* ResourceHandleTypes.h */,
 				E4295FA312B0614E00D1ACE0 /* ResourceLoadPriority.h */,
-				8A81BF8411DCFD9000DA2B98 /* ResourceLoadTiming.h */,
+				8A81BF8411DCFD9000DA2B98 /* NetworkLoadTiming.h */,
 				514C76670CE923A1007EF3CD /* ResourceRequestBase.cpp */,
 				514C76680CE923A1007EF3CD /* ResourceRequestBase.h */,
 				514C76690CE923A1007EF3CD /* ResourceResponseBase.cpp */,
@@ -18356,7 +18356,7 @@
 				3792917B1987678F00F4B661 /* CredentialCocoa.mm */,
 				372ADA37197F47B900FC501E /* ProtectionSpaceCocoa.h */,
 				372ADA39197F687600FC501E /* ProtectionSpaceCocoa.mm */,
-				5C9B860B1C21E3C600110F36 /* ResourceLoadTiming.mm */,
+				5C9B860B1C21E3C600110F36 /* NetworkLoadTiming.mm */,
 				7E7DE1FC195CEF260035363B /* ResourceRequestCocoa.mm */,
 				A1F78D0B1C25422C00245446 /* ResourceResponseCocoa.mm */,
 				CD225C0A1C46FBF400140761 /* WebCoreNSURLSession.h */,
@@ -22396,8 +22396,8 @@
 				E1C415D90F655D6F0092D2FB /* CrossOriginPreflightResultCache.h */,
 				93E227DB0AF589AD00D48324 /* DocumentLoader.cpp */,
 				656D371E0ADBA5DE00A4554D /* DocumentLoader.h */,
-				861C2EA313FB4FDD00062ABB /* DocumentLoadTiming.cpp */,
-				8A12E35C11FA33280025836A /* DocumentLoadTiming.h */,
+				861C2EA313FB4FDD00062ABB /* LoadTiming.cpp */,
+				8A12E35C11FA33280025836A /* LoadTiming.h */,
 				0B9056150F2578BE0095FF6A /* DocumentThreadableLoader.cpp */,
 				0B9056160F2578BE0095FF6A /* DocumentThreadableLoader.h */,
 				9738899E116EA9DC00ADF313 /* DocumentWriter.cpp */,
@@ -25296,7 +25296,7 @@
 				A3BB59F41457A40D00AC56FE /* DocumentEventQueue.h in Headers */,
 				A8185F3D09765766005826D9 /* DocumentFragment.h in Headers */,
 				656D37360ADBA5DE00A4554D /* DocumentLoader.h in Headers */,
-				8A12E35D11FA33280025836A /* DocumentLoadTiming.h in Headers */,
+				8A12E35D11FA33280025836A /* LoadTiming.h in Headers */,
 				ED2BA83C09A24B91006C0AC4 /* DocumentMarker.h in Headers */,
 				CE057FA61220731100A476D5 /* DocumentMarkerController.h in Headers */,
 				14947FFE12F80CD200A0F631 /* DocumentOrderedMap.h in Headers */,
@@ -27359,7 +27359,7 @@
 				E4295FA412B0614E00D1ACE0 /* ResourceLoadPriority.h in Headers */,
 				7A929CA71C598AA9004DF226 /* ResourceLoadStatistics.h in Headers */,
 				7AD3CDDA1C8A01A400F12698 /* ResourceLoadStatisticsStore.h in Headers */,
-				8A81BF8511DCFD9000DA2B98 /* ResourceLoadTiming.h in Headers */,
+				8A81BF8511DCFD9000DA2B98 /* NetworkLoadTiming.h in Headers */,
 				7EE6846D12D26E3800E79415 /* ResourceRequest.h in Headers */,
 				514C767D0CE923A1007EF3CD /* ResourceRequestBase.h in Headers */,
 				7EE6846F12D26E3800E79415 /* ResourceRequestCFNet.h in Headers */,
@@ -29115,7 +29115,7 @@
 				A8185F3F09765766005826D9 /* DocumentFragment.cpp in Sources */,
 				93E227E00AF589AD00D48324 /* DocumentLoader.cpp in Sources */,
 				1C26497A0D7E248A00BD10F2 /* DocumentLoaderMac.cpp in Sources */,
-				861C2EA413FB4FDD00062ABB /* DocumentLoadTiming.cpp in Sources */,
+				861C2EA413FB4FDD00062ABB /* LoadTiming.cpp in Sources */,
 				A781C6A713828B5D0012A62A /* DocumentMarker.cpp in Sources */,
 				CE057FA51220731100A476D5 /* DocumentMarkerController.cpp in Sources */,
 				14947FFD12F80CD200A0F631 /* DocumentOrderedMap.cpp in Sources */,
@@ -31018,7 +31018,7 @@
 				6B693A341C51A95D00B03BEF /* ResourceLoadObserver.cpp in Sources */,
 				7A929CA61C598A9E004DF226 /* ResourceLoadStatistics.cpp in Sources */,
 				7AD3CDD91C8A002F00F12698 /* ResourceLoadStatisticsStore.cpp in Sources */,
-				5C9B860C1C21E3C900110F36 /* ResourceLoadTiming.mm in Sources */,
+				5C9B860C1C21E3C900110F36 /* NetworkLoadTiming.mm in Sources */,
 				514C767C0CE923A1007EF3CD /* ResourceRequestBase.cpp in Sources */,
 				7EE6846E12D26E3800E79415 /* ResourceRequestCFNet.cpp in Sources */,
 				7E7DE1FD195CEF260035363B /* ResourceRequestCocoa.mm in Sources */,

Modified: trunk/Source/WebCore/inspector/InspectorNetworkAgent.cpp (204428 => 204429)


--- 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)
@@ -184,10 +184,10 @@
     return headersObject;
 }
 
-static Ref<Inspector::Protocol::Network::ResourceTiming> buildObjectForTiming(const ResourceLoadTiming& timing, DocumentLoader* loader)
+static Ref<Inspector::Protocol::Network::ResourceTiming> buildObjectForTiming(const NetworkLoadTiming& timing, DocumentLoader* loader)
 {
     return Inspector::Protocol::Network::ResourceTiming::create()
-        .setNavigationStart(loader->timing().navigationStart())
+        .setNavigationStart(loader->timing().startTime())
         .setDomainLookupStart(timing.domainLookupStart)
         .setDomainLookupEnd(timing.domainLookupEnd)
         .setConnectStart(timing.connectStart)
@@ -230,7 +230,7 @@
         .release();
 
     responseObject->setFromDiskCache(response.source() == ResourceResponse::Source::DiskCache || response.source() == ResourceResponse::Source::DiskCacheAfterValidation);
-    responseObject->setTiming(buildObjectForTiming(response.resourceLoadTiming(), loader));
+    responseObject->setTiming(buildObjectForTiming(response.networkLoadTiming(), loader));
 
     return WTFMove(responseObject);
 }

Deleted: trunk/Source/WebCore/loader/DocumentLoadTiming.cpp (204428 => 204429)


--- 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)
@@ -1,90 +0,0 @@
-/*
- * 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

Deleted: trunk/Source/WebCore/loader/DocumentLoadTiming.h (204428 => 204429)


--- 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)
@@ -1,92 +0,0 @@
-/*
- * 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

Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (204428 => 204429)


--- 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)
@@ -1466,7 +1466,7 @@
 void DocumentLoader::startLoadingMainResource()
 {
     m_mainDocumentError = ResourceError();
-    timing().markNavigationStart();
+    timing().markStartTime();
     ASSERT(!m_mainResource);
     ASSERT(!m_loadingMainResource);
     m_loadingMainResource = true;
@@ -1484,7 +1484,7 @@
     // because we pass a wrong loadType (see FIXME in addExtraFieldsToMainResourceRequest()).
     frameLoader()->addExtraFieldsToMainResourceRequest(m_request);
 
-    ASSERT(timing().navigationStart());
+    ASSERT(timing().startTime());
     ASSERT(!timing().fetchStart());
     timing().markFetchStart();
 

Modified: trunk/Source/WebCore/loader/DocumentLoader.h (204428 => 204429)


--- 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)
@@ -31,9 +31,9 @@
 
 #include "CachedRawResourceClient.h"
 #include "CachedResourceHandle.h"
-#include "DocumentLoadTiming.h"
 #include "DocumentWriter.h"
 #include "IconDatabaseBase.h"
+#include "LoadTiming.h"
 #include "NavigationAction.h"
 #include "ResourceError.h"
 #include "ResourceLoaderOptions.h"
@@ -255,8 +255,8 @@
         void recordMemoryCacheLoadForFutureClientNotification(const ResourceRequest&);
         void takeMemoryCacheLoadsForClientNotification(Vector<ResourceRequest>& loads);
 
-        DocumentLoadTiming& timing() { return m_documentLoadTiming; }
-        void resetTiming() { m_documentLoadTiming = DocumentLoadTiming(); }
+        LoadTiming& timing() { return m_loadTiming; }
+        void resetTiming() { m_loadTiming = LoadTiming(); }
 
         // The WebKit layer calls this function when it's ready for the data to
         // actually be added to the document.
@@ -426,7 +426,7 @@
         bool m_didCreateGlobalHistoryEntry;
 
         bool m_loadingMainResource;
-        DocumentLoadTiming m_documentLoadTiming;
+        LoadTiming m_loadTiming;
 
         double m_timeOfLastDataReceived;
         unsigned long m_identifierForLoadWithoutResourceLoader;

Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (204428 => 204429)


--- 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)
@@ -51,7 +51,6 @@
 #include "DiagnosticLoggingClient.h"
 #include "DiagnosticLoggingKeys.h"
 #include "Document.h"
-#include "DocumentLoadTiming.h"
 #include "DocumentLoader.h"
 #include "Editor.h"
 #include "EditorClient.h"
@@ -82,6 +81,7 @@
 #include "IgnoreOpensDuringUnloadCountIncrementer.h"
 #include "InspectorController.h"
 #include "InspectorInstrumentation.h"
+#include "LoadTiming.h"
 #include "LoaderStrategy.h"
 #include "Logging.h"
 #include "MIMETypeRegistry.h"
@@ -2933,12 +2933,12 @@
 
             if (!m_frame.document()->inPageCache()) {
                 Ref<Event> unloadEvent(Event::create(eventNames().unloadEvent, false, false));
-                // The DocumentLoader (and thus its DocumentLoadTiming) might get destroyed
+                // The DocumentLoader (and thus its LoadTiming) might get destroyed
                 // while dispatching the event, so protect it to prevent writing the end
                 // time into freed memory.
                 RefPtr<DocumentLoader> documentLoader = m_provisionalDocumentLoader;
                 m_pageDismissalEventBeingDispatched = PageDismissalType::Unload;
-                if (documentLoader && documentLoader->timing().navigationStart() && !documentLoader->timing().unloadEventStart() && !documentLoader->timing().unloadEventEnd()) {
+                if (documentLoader && documentLoader->timing().startTime() && !documentLoader->timing().unloadEventStart() && !documentLoader->timing().unloadEventEnd()) {
                     auto& timing = documentLoader->timing();
                     timing.markUnloadEventStart();
                     m_frame.document()->domWindow()->dispatchEvent(unloadEvent, m_frame.document());
@@ -3241,9 +3241,9 @@
     m_loadingFromCachedPage = true;
 
     // Should have timing data from previous time(s) the page was shown.
-    ASSERT(provisionalLoader->timing().navigationStart());
+    ASSERT(provisionalLoader->timing().startTime());
     provisionalLoader->resetTiming();
-    provisionalLoader->timing().markNavigationStart();
+    provisionalLoader->timing().markStartTime();
 
     provisionalLoader->setCommitted(true);
     commitProvisionalLoad();

Copied: trunk/Source/WebCore/loader/LoadTiming.cpp (from rev 204428, trunk/Source/WebCore/loader/DocumentLoadTiming.cpp) (0 => 204429)


--- trunk/Source/WebCore/loader/LoadTiming.cpp	                        (rev 0)
+++ trunk/Source/WebCore/loader/LoadTiming.cpp	2016-08-12 22:53:27 UTC (rev 204429)
@@ -0,0 +1,90 @@
+/*
+ * 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

Copied: trunk/Source/WebCore/loader/LoadTiming.h (from rev 204428, trunk/Source/WebCore/loader/DocumentLoadTiming.h) (0 => 204429)


--- trunk/Source/WebCore/loader/LoadTiming.h	                        (rev 0)
+++ trunk/Source/WebCore/loader/LoadTiming.h	2016-08-12 22:53:27 UTC (rev 204429)
@@ -0,0 +1,89 @@
+/*
+ * 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

Modified: trunk/Source/WebCore/page/DOMWindow.cpp (204428 => 204429)


--- 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)
@@ -1868,10 +1868,10 @@
 {
     Ref<Event> loadEvent = Event::create(eventNames().loadEvent, false, false);
     if (m_frame && m_frame->loader().documentLoader() && !m_frame->loader().documentLoader()->timing().loadEventStart()) {
-        // The DocumentLoader (and thus its DocumentLoadTiming) might get destroyed while dispatching
+        // The DocumentLoader (and thus its LoadTiming) might get destroyed while dispatching
         // the event, so protect it to prevent writing the end time into freed memory.
         RefPtr<DocumentLoader> documentLoader = m_frame->loader().documentLoader();
-        DocumentLoadTiming& timing = documentLoader->timing();
+        LoadTiming& timing = documentLoader->timing();
         timing.markLoadEventStart();
         dispatchEvent(loadEvent, document());
         timing.markLoadEventEnd();

Modified: trunk/Source/WebCore/page/PerformanceNavigation.cpp (204428 => 204429)


--- 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)
@@ -73,7 +73,7 @@
     if (!loader)
         return 0;
 
-    DocumentLoadTiming& timing = loader->timing();
+    LoadTiming& timing = loader->timing();
     if (timing.hasCrossOriginRedirect())
         return 0;
 

Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.cpp (204428 => 204429)


--- 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)
@@ -35,9 +35,9 @@
 #if ENABLE(WEB_TIMING)
 
 #include "Document.h"
-#include "DocumentLoadTiming.h"
 #include "DocumentLoader.h"
 #include "HTTPHeaderNames.h"
+#include "LoadTiming.h"
 #include "URL.h"
 #include "ResourceRequest.h"
 #include "ResourceResponse.h"
@@ -79,7 +79,7 @@
 PerformanceResourceTiming::PerformanceResourceTiming(const AtomicString& initiatorType, const ResourceRequest& request, const ResourceResponse& response, double initiationTime, double finishTime, Document* requestingDocument)
     : PerformanceEntry(request.url().string(), "resource", monotonicTimeToDocumentMilliseconds(requestingDocument, initiationTime), monotonicTimeToDocumentMilliseconds(requestingDocument, finishTime))
     , m_initiatorType(initiatorType)
-    , m_timing(response.resourceLoadTiming())
+    , m_timing(response.networkLoadTiming())
     , m_finishTime(finishTime)
     , m_shouldReportDetails(passesTimingAllowCheck(response, requestingDocument))
     , m_requestingDocument(requestingDocument)
@@ -195,7 +195,7 @@
 {
     if (!deltaMilliseconds)
         return 0.0;
-    return monotonicTimeToDocumentMilliseconds(m_requestingDocument.get(), m_requestingDocument->loader()->timing().navigationStart()) + deltaMilliseconds;
+    return monotonicTimeToDocumentMilliseconds(m_requestingDocument.get(), m_requestingDocument->loader()->timing().startTime()) + deltaMilliseconds;
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.h (204428 => 204429)


--- 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)
@@ -34,8 +34,8 @@
 
 #if ENABLE(WEB_TIMING)
 
+#include "NetworkLoadTiming.h"
 #include "PerformanceEntry.h"
-#include "ResourceLoadTiming.h"
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefPtr.h>
 #include <wtf/text/WTFString.h>
@@ -44,7 +44,7 @@
 
 class Document;
 class URL;
-class ResourceLoadTiming;
+class NetworkLoadTiming;
 class ResourceRequest;
 class ResourceResponse;
 
@@ -77,7 +77,7 @@
     double resourceTimeToDocumentMilliseconds(int deltaMilliseconds) const;
 
     AtomicString m_initiatorType;
-    ResourceLoadTiming m_timing;
+    NetworkLoadTiming m_timing;
     double m_finishTime;
     bool m_shouldReportDetails;
     RefPtr<Document> m_requestingDocument;

Modified: trunk/Source/WebCore/page/PerformanceTiming.cpp (204428 => 204429)


--- 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)
@@ -34,12 +34,12 @@
 #if ENABLE(WEB_TIMING)
 
 #include "Document.h"
-#include "DocumentLoadTiming.h"
 #include "DocumentLoader.h"
 #include "DocumentTiming.h"
 #include "Frame.h"
 #include "FrameLoader.h"
-#include "ResourceLoadTiming.h"
+#include "LoadTiming.h"
+#include "NetworkLoadTiming.h"
 #include "ResourceResponse.h"
 #include <wtf/CurrentTime.h>
 
@@ -58,16 +58,16 @@
 
 unsigned long long PerformanceTiming::navigationStart() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
-    return monotonicTimeToIntegerMilliseconds(timing->navigationStart());
+    return monotonicTimeToIntegerMilliseconds(timing->startTime());
 }
 
 unsigned long long PerformanceTiming::unloadEventStart() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -79,7 +79,7 @@
 
 unsigned long long PerformanceTiming::unloadEventEnd() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -91,7 +91,7 @@
 
 unsigned long long PerformanceTiming::redirectStart() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -103,7 +103,7 @@
 
 unsigned long long PerformanceTiming::redirectEnd() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -115,7 +115,7 @@
 
 unsigned long long PerformanceTiming::fetchStart() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -128,7 +128,7 @@
     if (!loader)
         return fetchStart();
     
-    const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
+    const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
     
     // This will be -1 when a DNS request is not performed.
     // Rather than exposing a special value that indicates no DNS, we "backfill" with fetchStart.
@@ -144,7 +144,7 @@
     if (!loader)
         return domainLookupStart();
     
-    const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
+    const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
     
     // This will be -1 when a DNS request is not performed.
     // Rather than exposing a special value that indicates no DNS, we "backfill" with domainLookupStart.
@@ -160,7 +160,7 @@
     if (!loader)
         return domainLookupEnd();
 
-    const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
+    const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
     
     // connectStart will be -1 when a network request is not made.
     // Rather than exposing a special value that indicates no new connection, we "backfill" with domainLookupEnd.
@@ -168,7 +168,7 @@
     if (connectStart < 0)
         return domainLookupEnd();
 
-    // ResourceLoadTiming's connect phase includes DNS, however Navigation Timing's
+    // NetworkLoadTiming's connect phase includes DNS, however Navigation Timing's
     // connect phase should not. So if there is DNS time, trim it from the start.
     if (timing.domainLookupEnd >= 0 && timing.domainLookupEnd > connectStart)
         connectStart = timing.domainLookupEnd;
@@ -182,7 +182,7 @@
     if (!loader)
         return connectStart();
 
-    const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
+    const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
     
     // connectEnd will be -1 when a network request is not made.
     // Rather than exposing a special value that indicates no new connection, we "backfill" with connectStart.
@@ -198,7 +198,7 @@
     if (!loader)
         return 0;
 
-    const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
+    const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
     
     if (timing.secureConnectionStart < 0)
         return 0;
@@ -212,7 +212,7 @@
     if (!loader)
         return connectEnd();
     
-    const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
+    const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
     
     ASSERT(timing.requestStart >= 0);
     return resourceLoadTimeRelativeToFetchStart(timing.requestStart);
@@ -224,7 +224,7 @@
     if (!loader)
         return requestStart();
 
-    const ResourceLoadTiming& timing = loader->response().resourceLoadTiming();
+    const NetworkLoadTiming& timing = loader->response().networkLoadTiming();
     
     ASSERT(timing.responseStart >= 0);
     return resourceLoadTimeRelativeToFetchStart(timing.responseStart);
@@ -232,7 +232,7 @@
 
 unsigned long long PerformanceTiming::responseEnd() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -286,7 +286,7 @@
 
 unsigned long long PerformanceTiming::loadEventStart() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -295,7 +295,7 @@
 
 unsigned long long PerformanceTiming::loadEventEnd() const
 {
-    DocumentLoadTiming* timing = documentLoadTiming();
+    LoadTiming* timing = loadTiming();
     if (!timing)
         return 0;
 
@@ -322,7 +322,7 @@
     return &document->timing();
 }
 
-DocumentLoadTiming* PerformanceTiming::documentLoadTiming() const
+LoadTiming* PerformanceTiming::loadTiming() const
 {
     DocumentLoader* loader = documentLoader();
     if (!loader)
@@ -340,7 +340,7 @@
 unsigned long long PerformanceTiming::monotonicTimeToIntegerMilliseconds(double monotonicSeconds) const
 {
     ASSERT(monotonicSeconds >= 0);
-    if (const DocumentLoadTiming* timing = documentLoadTiming())
+    if (const LoadTiming* timing = loadTiming())
         return toIntegerMilliseconds(timing->monotonicTimeToPseudoWallTime(monotonicSeconds));
     return 0;
 }

Modified: trunk/Source/WebCore/page/PerformanceTiming.h (204428 => 204429)


--- 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)
@@ -39,11 +39,11 @@
 
 namespace WebCore {
 
-class DocumentLoadTiming;
+class LoadTiming;
 class DocumentLoader;
 struct DocumentTiming;
 class Frame;
-class ResourceLoadTiming;
+class NetworkLoadTiming;
 
 class PerformanceTiming : public RefCounted<PerformanceTiming>, public DOMWindowProperty {
 public:
@@ -76,7 +76,7 @@
 
     const DocumentTiming* documentTiming() const;
     DocumentLoader* documentLoader() const;
-    DocumentLoadTiming* documentLoadTiming() const;
+    LoadTiming* loadTiming() const;
     unsigned long long resourceLoadTimeRelativeToFetchStart(int) const;
     unsigned long long monotonicTimeToIntegerMilliseconds(double) const;
 };

Copied: trunk/Source/WebCore/platform/network/NetworkLoadTiming.h (from rev 204428, trunk/Source/WebCore/platform/network/ResourceLoadTiming.h) (0 => 204429)


--- 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)
@@ -0,0 +1,138 @@
+/*
+ * 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);
+}
+
+}

Modified: trunk/Source/WebCore/platform/network/ResourceHandle.h (204428 => 204429)


--- 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)
@@ -86,7 +86,7 @@
 class ResourceError;
 class ResourceHandleClient;
 class ResourceHandleInternal;
-class ResourceLoadTiming;
+class NetworkLoadTiming;
 class ResourceRequest;
 class ResourceResponse;
 class SharedBuffer;
@@ -134,9 +134,9 @@
         
 #if PLATFORM(COCOA) && ENABLE(WEB_TIMING)
 #if USE(CFNETWORK)
-    static void getConnectionTimingData(CFURLConnectionRef, ResourceLoadTiming&);
+    static void getConnectionTimingData(CFURLConnectionRef, NetworkLoadTiming&);
 #else
-    static void getConnectionTimingData(NSURLConnection *, ResourceLoadTiming&);
+    static void getConnectionTimingData(NSURLConnection *, NetworkLoadTiming&);
 #endif
 #endif
         

Deleted: trunk/Source/WebCore/platform/network/ResourceLoadTiming.h (204428 => 204429)


--- 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)
@@ -1,141 +0,0 @@
-/*
- * 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

Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (204428 => 204429)


--- 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)
@@ -71,7 +71,7 @@
     data.httpVersion = httpVersion().isolatedCopy();
 
     data.httpHeaderFields = httpHeaderFields().isolatedCopy();
-    data.resourceLoadTiming = m_resourceLoadTiming.isolatedCopy();
+    data.networkLoadTiming = m_networkLoadTiming.isolatedCopy();
     data.type = m_type;
     data.isRedirected = m_isRedirected;
 
@@ -92,7 +92,7 @@
     response.setHTTPVersion(data.httpVersion);
 
     response.m_httpHeaderFields = WTFMove(data.httpHeaderFields);
-    response.m_resourceLoadTiming = data.resourceLoadTiming;
+    response.m_networkLoadTiming = data.networkLoadTiming;
     response.m_type = data.type;
     response.m_isRedirected = data.isRedirected;
 
@@ -575,7 +575,7 @@
         return false;
     if (a.httpHeaderFields() != b.httpHeaderFields())
         return false;
-    if (a.resourceLoadTiming() != b.resourceLoadTiming())
+    if (a.networkLoadTiming() != b.networkLoadTiming())
         return false;
     return ResourceResponse::platformCompare(a, b);
 }

Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.h (204428 => 204429)


--- 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)
@@ -29,8 +29,8 @@
 #include "CacheValidation.h"
 #include "CertificateInfo.h"
 #include "HTTPHeaderMap.h"
+#include "NetworkLoadTiming.h"
 #include "ParsedContentRange.h"
-#include "ResourceLoadTiming.h"
 #include "URL.h"
 
 namespace WebCore {
@@ -57,7 +57,7 @@
         String httpStatusText;
         String httpVersion;
         HTTPHeaderMap httpHeaderFields;
-        ResourceLoadTiming resourceLoadTiming;
+        NetworkLoadTiming networkLoadTiming;
         Type type;
         bool isRedirected;
     };
@@ -135,7 +135,7 @@
     WEBCORE_EXPORT Source source() const;
     WEBCORE_EXPORT void setSource(Source);
 
-    ResourceLoadTiming& resourceLoadTiming() const { return m_resourceLoadTiming; }
+    NetworkLoadTiming& networkLoadTiming() const { return m_networkLoadTiming; }
 
     // The ResourceResponse subclass may "shadow" this method to provide platform-specific memory usage information
     unsigned memoryUsage() const
@@ -187,7 +187,7 @@
     AtomicString m_httpStatusText;
     AtomicString m_httpVersion;
     HTTPHeaderMap m_httpHeaderFields;
-    mutable ResourceLoadTiming m_resourceLoadTiming;
+    mutable NetworkLoadTiming m_networkLoadTiming;
 
     mutable Optional<CertificateInfo> m_certificateInfo;
 
@@ -232,7 +232,7 @@
     encoder << m_httpStatusText;
     encoder << m_httpVersion;
     encoder << m_httpHeaderFields;
-    encoder << m_resourceLoadTiming;
+    encoder << m_networkLoadTiming;
     encoder << m_httpStatusCode;
     encoder << m_certificateInfo;
     encoder.encodeEnum(m_source);
@@ -266,7 +266,7 @@
         return false;
     if (!decoder.decode(response.m_httpHeaderFields))
         return false;
-    if (!decoder.decode(response.m_resourceLoadTiming))
+    if (!decoder.decode(response.m_networkLoadTiming))
         return false;
     if (!decoder.decode(response.m_httpStatusCode))
         return false;

Modified: trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp (204428 => 204429)


--- 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)
@@ -156,7 +156,7 @@
         
         ResourceResponse resourceResponse(cfResponse);
 #if ENABLE(WEB_TIMING)
-        ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
+        ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
 #else
         UNUSED_PARAM(connection);
 #endif

Modified: trunk/Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp (204428 => 204429)


--- 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)
@@ -175,7 +175,7 @@
     
     ResourceResponse resourceResponse(cfResponse);
 #if PLATFORM(COCOA) && ENABLE(WEB_TIMING)
-    ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
+    ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
 #else
     UNUSED_PARAM(connection);
 #endif

Copied: trunk/Source/WebCore/platform/network/cocoa/NetworkLoadTiming.mm (from rev 204428, trunk/Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm) (0 => 204429)


--- 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)
@@ -0,0 +1,77 @@
+/*
+ * 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
+    
+}

Deleted: trunk/Source/WebCore/platform/network/cocoa/ResourceLoadTiming.mm (204428 => 204429)


--- 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)
@@ -1,77 +0,0 @@
-/*
- * 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
-    
-}

Modified: trunk/Source/WebCore/platform/network/curl/ResourceHandleManager.cpp (204428 => 204429)


--- 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)
@@ -188,17 +188,17 @@
     curl_easy_getinfo(d->m_handle, CURLINFO_STARTTRANSFER_TIME, &startTransfertTime);
     curl_easy_getinfo(d->m_handle, CURLINFO_PRETRANSFER_TIME, &preTransferTime);
 
-    d->m_response.resourceLoadTiming().domainLookupStart = 0;
-    d->m_response.resourceLoadTiming().domainLookupEnd = static_cast<int>(dnslookupTime * 1000);
+    d->m_response.networkLoadTiming().domainLookupStart = 0;
+    d->m_response.networkLoadTiming().domainLookupEnd = static_cast<int>(dnslookupTime * 1000);
 
-    d->m_response.resourceLoadTiming().connectStart = static_cast<int>(dnslookupTime * 1000);
-    d->m_response.resourceLoadTiming().connectEnd = static_cast<int>(connectTime * 1000);
+    d->m_response.networkLoadTiming().connectStart = static_cast<int>(dnslookupTime * 1000);
+    d->m_response.networkLoadTiming().connectEnd = static_cast<int>(connectTime * 1000);
 
-    d->m_response.resourceLoadTiming().requestStart = static_cast<int>(connectTime *1000);
-    d->m_response.resourceLoadTiming().responseStart =static_cast<int>(preTransferTime * 1000);
+    d->m_response.networkLoadTiming().requestStart = static_cast<int>(connectTime *1000);
+    d->m_response.networkLoadTiming().responseStart =static_cast<int>(preTransferTime * 1000);
 
     if (appConnectTime)
-        d->m_response.resourceLoadTiming().secureConnectionStart = static_cast<int>(connectTime * 1000);
+        d->m_response.networkLoadTiming().secureConnectionStart = static_cast<int>(connectTime * 1000);
 }
 #endif
 

Modified: trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm (204428 => 204429)


--- 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)
@@ -737,7 +737,7 @@
 
 #if USE(CFNETWORK)
     
-void ResourceHandle::getConnectionTimingData(CFURLConnectionRef connection, ResourceLoadTiming& timing)
+void ResourceHandle::getConnectionTimingData(CFURLConnectionRef connection, NetworkLoadTiming& timing)
 {
     copyTimingData((__bridge NSDictionary*)adoptCF(_CFURLConnectionCopyTimingData(connection)).get(), timing);
 }
@@ -744,7 +744,7 @@
     
 #else
     
-void ResourceHandle::getConnectionTimingData(NSURLConnection *connection, ResourceLoadTiming& timing)
+void ResourceHandle::getConnectionTimingData(NSURLConnection *connection, NetworkLoadTiming& timing)
 {
     copyTimingData([connection _timingData], timing);
 }

Modified: trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm (204428 => 204429)


--- 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)
@@ -151,7 +151,7 @@
     ResourceResponse resourceResponse(r);
     resourceResponse.setSource(ResourceResponse::Source::Network);
 #if ENABLE(WEB_TIMING)
-    ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
+    ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
 #else
     UNUSED_PARAM(connection);
 #endif

Modified: trunk/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm (204428 => 204429)


--- 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)
@@ -195,7 +195,7 @@
         
         ResourceResponse resourceResponse(r);
 #if ENABLE(WEB_TIMING)
-        ResourceHandle::getConnectionTimingData(connection, resourceResponse.resourceLoadTiming());
+        ResourceHandle::getConnectionTimingData(connection, resourceResponse.networkLoadTiming());
 #else
         UNUSED_PARAM(connection);
 #endif

Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (204428 => 204429)


--- 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)
@@ -709,7 +709,7 @@
     }
 
 #if ENABLE(WEB_TIMING)
-    d->m_response.resourceLoadTiming().responseStart = milisecondsSinceRequest(handle->m_requestTime);
+    d->m_response.networkLoadTiming().responseStart = milisecondsSinceRequest(handle->m_requestTime);
 #endif
 
     if (soupMessage && d->m_response.isMultipart())
@@ -843,7 +843,7 @@
 
 void ResourceHandle::didStartRequest()
 {
-    getInternal()->m_response.resourceLoadTiming().requestStart = milisecondsSinceRequest(m_requestTime);
+    getInternal()->m_response.networkLoadTiming().requestStart = milisecondsSinceRequest(m_requestTime);
 }
 
 #if SOUP_CHECK_VERSION(2, 49, 91)
@@ -866,21 +866,21 @@
     int deltaTime = milisecondsSinceRequest(handle->m_requestTime);
     switch (event) {
     case G_SOCKET_CLIENT_RESOLVING:
-        d->m_response.resourceLoadTiming().domainLookupStart = deltaTime;
+        d->m_response.networkLoadTiming().domainLookupStart = deltaTime;
         break;
     case G_SOCKET_CLIENT_RESOLVED:
-        d->m_response.resourceLoadTiming().domainLookupEnd = deltaTime;
+        d->m_response.networkLoadTiming().domainLookupEnd = deltaTime;
         break;
     case G_SOCKET_CLIENT_CONNECTING:
-        d->m_response.resourceLoadTiming().connectStart = deltaTime;
-        if (d->m_response.resourceLoadTiming().domainLookupStart != -1) {
+        d->m_response.networkLoadTiming().connectStart = deltaTime;
+        if (d->m_response.networkLoadTiming().domainLookupStart != -1) {
             // WebCore/inspector/front-end/RequestTimingView.js assumes
             // that DNS time is included in connection time so must
             // substract here the DNS delta that will be added later (see
             // WebInspector.RequestTimingView.createTimingTable in the
             // file above for more details).
-            d->m_response.resourceLoadTiming().connectStart -=
-                d->m_response.resourceLoadTiming().domainLookupEnd - d->m_response.resourceLoadTiming().domainLookupStart;
+            d->m_response.networkLoadTiming().connectStart -=
+                d->m_response.networkLoadTiming().domainLookupEnd - d->m_response.networkLoadTiming().domainLookupStart;
         }
         break;
     case G_SOCKET_CLIENT_CONNECTED:
@@ -892,12 +892,12 @@
     case G_SOCKET_CLIENT_PROXY_NEGOTIATED:
         break;
     case G_SOCKET_CLIENT_TLS_HANDSHAKING:
-        d->m_response.resourceLoadTiming().secureConnectionStart = deltaTime;
+        d->m_response.networkLoadTiming().secureConnectionStart = deltaTime;
         break;
     case G_SOCKET_CLIENT_TLS_HANDSHAKED:
         break;
     case G_SOCKET_CLIENT_COMPLETE:
-        d->m_response.resourceLoadTiming().connectEnd = deltaTime;
+        d->m_response.networkLoadTiming().connectEnd = deltaTime;
         break;
     default:
         ASSERT_NOT_REACHED();

Modified: trunk/Source/WebKit2/ChangeLog (204428 => 204429)


--- 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)
@@ -1,3 +1,15 @@
+2016-08-12  Johan K. Jensen  <[email protected]>
+
+        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:]):
+
 2016-08-12  Anders Carlsson  <[email protected]>
 
         message loading never finishes in Mail

Modified: trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm (204428 => 204429)


--- 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)
@@ -40,10 +40,10 @@
 #import <WebCore/CFNetworkSPI.h>
 #import <WebCore/Credential.h>
 #import <WebCore/FrameLoaderTypes.h>
+#import <WebCore/NetworkLoadTiming.h>
 #import <WebCore/NetworkStorageSession.h>
 #import <WebCore/NotImplemented.h>
 #import <WebCore/ResourceError.h>
-#import <WebCore/ResourceLoadTiming.h>
 #import <WebCore/ResourceRequest.h>
 #import <WebCore/ResourceResponse.h>
 #import <WebCore/SharedBuffer.h>
@@ -249,7 +249,7 @@
         // all the fields when sending the response to the WebContent process over IPC.
         resourceResponse.disableLazyInitialization();
 
-        copyTimingData([dataTask _timingData], resourceResponse.resourceLoadTiming());
+        copyTimingData([dataTask _timingData], resourceResponse.networkLoadTiming());
         auto completionHandlerCopy = Block_copy(completionHandler);
         networkDataTask->didReceiveResponse(WTFMove(resourceResponse), [completionHandlerCopy, taskIdentifier](WebCore::PolicyAction policyAction) {
             LOG(NetworkSession, "%llu didReceiveResponse completionHandler (cancel)", taskIdentifier);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to