Bug 133075 - collect web timing data on iOS
Summary: collect web timing data on iOS
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: iPhone / iPad iOS 7.0
: P2 Enhancement
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-19 10:40 PDT by Alex Christensen
Modified: 2014-05-19 16:46 PDT (History)
2 users (show)

See Also:


Attachments
Patch (17.85 KB, patch)
2014-05-19 10:47 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (17.80 KB, patch)
2014-05-19 10:53 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (18.68 KB, patch)
2014-05-19 12:10 PDT, Alex Christensen
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Christensen 2014-05-19 10:40:55 PDT
I collect web timing data from CFNetwork on Mac, and we should do something similar on iOS to make the web timing data more complete.
Comment 1 Alex Christensen 2014-05-19 10:47:10 PDT
Created attachment 231701 [details]
Patch
Comment 2 Alex Christensen 2014-05-19 10:53:53 PDT
Created attachment 231702 [details]
Patch
Comment 3 Simon Fraser (smfr) 2014-05-19 10:55:16 PDT
Comment on attachment 231701 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231701&action=review

> Source/WebCore/platform/network/ResourceHandle.h:141
> +    static void getTimingData(NSDictionary *, ResourceLoadTiming&);
> +    static void getTimingData(CFDictionaryRef, ResourceLoadTiming&);

These are a bit confusing, Why not: static void getConnectionTimingData(CFURLConnectionRef, ResourceLoadTiming&).
Comment 4 Alex Christensen 2014-05-19 10:57:53 PDT
(In reply to comment #3)
> (From update of attachment 231701 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=231701&action=review
> 
> > Source/WebCore/platform/network/ResourceHandle.h:141
> > +    static void getTimingData(NSDictionary *, ResourceLoadTiming&);
> > +    static void getTimingData(CFDictionaryRef, ResourceLoadTiming&);
> 
> These are a bit confusing, Why not: static void getConnectionTimingData(CFURLConnectionRef, ResourceLoadTiming&).

One is already used on osx, which uses a NSURLConnection from which I can get a NSDictionary*.  One is going to be used with iOS which uses CFNetwork, and I can only get a CFDictionaryRef.  It is a bit confusing, but that's how the data is available.
Comment 5 Alex Christensen 2014-05-19 12:10:53 PDT
Created attachment 231707 [details]
Patch
Comment 6 Sam Weinig 2014-05-19 16:39:52 PDT
Comment on attachment 231707 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231707&action=review

> Source/WebCore/platform/network/mac/ResourceHandleMac.mm:715
> +    if (timingData) {

Do an early return here.
Comment 7 Alex Christensen 2014-05-19 16:46:55 PDT
http://trac.webkit.org/changeset/169082