summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorpan.deng@intel.com <pan.deng@intel.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-29 03:54:40 +0000
committerpan.deng@intel.com <pan.deng@intel.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-29 03:54:40 +0000
commit3f412884f275f0a45a53a4859dbe1337e1b4dd1f (patch)
treec46857ca3b217c53d0b6f6bbb17b0643023659b6 /webkit
parentc7d388d8096f06909cdc613fdb7e5b055b03c129 (diff)
downloadchromium_src-3f412884f275f0a45a53a4859dbe1337e1b4dd1f.zip
chromium_src-3f412884f275f0a45a53a4859dbe1337e1b4dd1f.tar.gz
chromium_src-3f412884f275f0a45a53a4859dbe1337e1b4dd1f.tar.bz2
Fix ResourceLoadTiming resolution lose issue (chromium part)
To Fix ResourceLoadTiming resolution lose issue, "int" deltas in millisecond will be replaced by "double" monotonicallyIncreasing time in blink. This change remove previous delta calculation in glue, and pass nature monotonicallyIncreasing time to blink. Contributed by pan.deng@intel.com BUG=242452 Review URL: https://chromiumcodereview.appspot.com/15552003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202765 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/weburlloader_impl.cc54
1 files changed, 20 insertions, 34 deletions
diff --git a/webkit/glue/weburlloader_impl.cc b/webkit/glue/weburlloader_impl.cc
index 2145ce3..d550422 100644
--- a/webkit/glue/weburlloader_impl.cc
+++ b/webkit/glue/weburlloader_impl.cc
@@ -150,51 +150,37 @@ bool GetInfoFromDataURL(const GURL& url,
typedef ResourceDevToolsInfo::HeadersVector HeadersVector;
-// Given a base time and a second time, returns the time from the base time to
-// the second time, in milliseconds. If the second time is null, returns -1.
-// The base time must not be null.
-int TimeTicksToOffset(base::TimeTicks base_time, base::TimeTicks time) {
- if (time.is_null())
- return -1;
- DCHECK(!base_time.is_null());
- return static_cast<int>((time - base_time).InMillisecondsRoundedUp());
-}
-
// Converts timing data from |load_timing| to the format used by WebKit.
void PopulateURLLoadTiming(const net::LoadTimingInfo& load_timing,
WebURLLoadTiming* url_timing) {
DCHECK(!load_timing.request_start.is_null());
+ const TimeTicks kNullTicks;
url_timing->initialize();
url_timing->setRequestTime(
- (load_timing.request_start - TimeTicks()).InSecondsF());
- url_timing->setProxyStart(TimeTicksToOffset(load_timing.request_start,
- load_timing.proxy_resolve_start));
- url_timing->setProxyEnd(TimeTicksToOffset(load_timing.request_start,
- load_timing.proxy_resolve_end));
- url_timing->setDNSStart(TimeTicksToOffset(
- load_timing.request_start,
- load_timing.connect_timing.dns_start));
- url_timing->setDNSEnd(TimeTicksToOffset(load_timing.request_start,
- load_timing.connect_timing.dns_end));
+ (load_timing.request_start - kNullTicks).InSecondsF());
+ url_timing->setProxyStart(
+ (load_timing.proxy_resolve_start - kNullTicks).InSecondsF());
+ url_timing->setProxyEnd(
+ (load_timing.proxy_resolve_end - kNullTicks).InSecondsF());
+ url_timing->setDNSStart(
+ (load_timing.connect_timing.dns_start - kNullTicks).InSecondsF());
+ url_timing->setDNSEnd(
+ (load_timing.connect_timing.dns_end - kNullTicks).InSecondsF());
url_timing->setConnectStart(
- TimeTicksToOffset(load_timing.request_start,
- load_timing.connect_timing.connect_start));
+ (load_timing.connect_timing.connect_start - kNullTicks).InSecondsF());
url_timing->setConnectEnd(
- TimeTicksToOffset(load_timing.request_start,
- load_timing.connect_timing.connect_end));
+ (load_timing.connect_timing.connect_end - kNullTicks).InSecondsF());
url_timing->setSSLStart(
- TimeTicksToOffset(load_timing.request_start,
- load_timing.connect_timing.ssl_start));
- url_timing->setSSLEnd(TimeTicksToOffset(load_timing.request_start,
- load_timing.connect_timing.ssl_end));
- url_timing->setSendStart(TimeTicksToOffset(load_timing.request_start,
- load_timing.send_start));
- url_timing->setSendEnd(TimeTicksToOffset(load_timing.request_start,
- load_timing.send_end));
+ (load_timing.connect_timing.ssl_start - kNullTicks).InSecondsF());
+ url_timing->setSSLEnd(
+ (load_timing.connect_timing.ssl_end - kNullTicks).InSecondsF());
+ url_timing->setSendStart(
+ (load_timing.send_start - kNullTicks).InSecondsF());
+ url_timing->setSendEnd(
+ (load_timing.send_end - kNullTicks).InSecondsF());
url_timing->setReceiveHeadersEnd(
- TimeTicksToOffset(load_timing.request_start,
- load_timing.receive_headers_end));
+ (load_timing.receive_headers_end - kNullTicks).InSecondsF());
}
void PopulateURLResponse(