Resource Timing IDL tests


PASS Performance interface: operation clearResourceTimings() 
PASS Unscopable handled correctly for clearResourceTimings() on Performance 
PASS Performance interface: operation setResourceTimingBufferSize(unsigned long) 
PASS Unscopable handled correctly for setResourceTimingBufferSize(unsigned long) on Performance 
PASS Performance interface: attribute onresourcetimingbufferfull 
PASS Unscopable handled correctly for onresourcetimingbufferfull property on Performance 
PASS Performance interface: window.performance must inherit property "clearResourceTimings()" with the proper type 
PASS Performance interface: window.performance must inherit property "setResourceTimingBufferSize(unsigned long)" with the proper type 
PASS Performance interface: calling setResourceTimingBufferSize(unsigned long) on window.performance with too few arguments must throw TypeError 
PASS Performance interface: window.performance must inherit property "onresourcetimingbufferfull" with the proper type 
PASS PerformanceResourceTiming interface: existence and properties of interface object 
PASS PerformanceResourceTiming interface object length 
PASS PerformanceResourceTiming interface object name 
PASS PerformanceResourceTiming interface: existence and properties of interface prototype object 
PASS PerformanceResourceTiming interface: existence and properties of interface prototype object's "constructor" property 
PASS PerformanceResourceTiming interface: existence and properties of interface prototype object's @@unscopables property 
PASS PerformanceResourceTiming interface: attribute initiatorType 
PASS Unscopable handled correctly for initiatorType property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute nextHopProtocol 
PASS Unscopable handled correctly for nextHopProtocol property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute workerStart 
PASS Unscopable handled correctly for workerStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute redirectStart 
PASS Unscopable handled correctly for redirectStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute redirectEnd 
PASS Unscopable handled correctly for redirectEnd property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute fetchStart 
PASS Unscopable handled correctly for fetchStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute domainLookupStart 
PASS Unscopable handled correctly for domainLookupStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute domainLookupEnd 
PASS Unscopable handled correctly for domainLookupEnd property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute connectStart 
PASS Unscopable handled correctly for connectStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute connectEnd 
PASS Unscopable handled correctly for connectEnd property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute secureConnectionStart 
PASS Unscopable handled correctly for secureConnectionStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute requestStart 
PASS Unscopable handled correctly for requestStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute responseStart 
PASS Unscopable handled correctly for responseStart property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: attribute responseEnd 
PASS Unscopable handled correctly for responseEnd property on PerformanceResourceTiming 
FAIL PerformanceResourceTiming interface: attribute transferSize assert_true: The prototype object must have a property "transferSize" expected true got false
PASS Unscopable handled correctly for transferSize property on PerformanceResourceTiming 
FAIL PerformanceResourceTiming interface: attribute encodedBodySize assert_true: The prototype object must have a property "encodedBodySize" expected true got false
PASS Unscopable handled correctly for encodedBodySize property on PerformanceResourceTiming 
FAIL PerformanceResourceTiming interface: attribute decodedBodySize assert_true: The prototype object must have a property "decodedBodySize" expected true got false
PASS Unscopable handled correctly for decodedBodySize property on PerformanceResourceTiming 
PASS PerformanceResourceTiming interface: operation toJSON() 
PASS Unscopable handled correctly for toJSON() on PerformanceResourceTiming 
PASS PerformanceResourceTiming must be primary interface of window.performance.getEntriesByType('resource')[0] 
PASS Stringification of window.performance.getEntriesByType('resource')[0] 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "initiatorType" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "nextHopProtocol" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "workerStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "redirectStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "redirectEnd" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "fetchStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "domainLookupStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "domainLookupEnd" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "connectStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "connectEnd" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "secureConnectionStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "requestStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "responseStart" with the proper type 
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "responseEnd" with the proper type 
FAIL PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "transferSize" with the proper type assert_inherits: property "transferSize" not found in prototype chain
FAIL PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "encodedBodySize" with the proper type assert_inherits: property "encodedBodySize" not found in prototype chain
FAIL PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "decodedBodySize" with the proper type assert_inherits: property "decodedBodySize" not found in prototype chain
PASS PerformanceResourceTiming interface: window.performance.getEntriesByType('resource')[0] must inherit property "toJSON()" with the proper type 
FAIL Test default toJSON operation of PerformanceResourceTiming assert_true: property "transferSize" should be present in the output of PerformanceResourceTiming.prototype.toJSON() expected true got false
[Exposed=(Window,Worker)]
interface PerformanceResourceTiming : PerformanceEntry {
    readonly attribute DOMString           initiatorType;
    readonly attribute DOMString           nextHopProtocol;
    readonly attribute DOMHighResTimeStamp workerStart;
    readonly attribute DOMHighResTimeStamp redirectStart;
    readonly attribute DOMHighResTimeStamp redirectEnd;
    readonly attribute DOMHighResTimeStamp fetchStart;
    readonly attribute DOMHighResTimeStamp domainLookupStart;
    readonly attribute DOMHighResTimeStamp domainLookupEnd;
    readonly attribute DOMHighResTimeStamp connectStart;
    readonly attribute DOMHighResTimeStamp connectEnd;
    readonly attribute DOMHighResTimeStamp secureConnectionStart;
    readonly attribute DOMHighResTimeStamp requestStart;
    readonly attribute DOMHighResTimeStamp responseStart;
    readonly attribute DOMHighResTimeStamp responseEnd;
    readonly attribute unsigned long long  transferSize;
    readonly attribute unsigned long long  encodedBodySize;
    readonly attribute unsigned long long  decodedBodySize;
    [Default] object toJSON();
};

partial interface Performance {
    void clearResourceTimings();
    void setResourceTimingBufferSize(unsigned long maxSize);
    attribute EventHandler onresourcetimingbufferfull;
};

