User Timing IDL tests


PASS Performance interface: operation mark(DOMString) 
PASS Unscopable handled correctly for mark(DOMString) on Performance 
PASS Performance interface: operation clearMarks(DOMString) 
PASS Unscopable handled correctly for clearMarks(DOMString) on Performance 
PASS Performance interface: operation measure(DOMString, DOMString, DOMString) 
PASS Unscopable handled correctly for measure(DOMString, DOMString, DOMString) on Performance 
PASS Performance interface: operation clearMeasures(DOMString) 
PASS Unscopable handled correctly for clearMeasures(DOMString) on Performance 
PASS Performance interface: window.performance must inherit property "mark(DOMString)" with the proper type 
PASS Performance interface: calling mark(DOMString) on window.performance with too few arguments must throw TypeError 
PASS Performance interface: window.performance must inherit property "clearMarks(DOMString)" with the proper type 
PASS Performance interface: calling clearMarks(DOMString) on window.performance with too few arguments must throw TypeError 
PASS Performance interface: window.performance must inherit property "measure(DOMString, DOMString, DOMString)" with the proper type 
PASS Performance interface: calling measure(DOMString, DOMString, DOMString) on window.performance with too few arguments must throw TypeError 
PASS Performance interface: window.performance must inherit property "clearMeasures(DOMString)" with the proper type 
PASS Performance interface: calling clearMeasures(DOMString) on window.performance with too few arguments must throw TypeError 
PASS PerformanceMark interface: existence and properties of interface object 
PASS PerformanceMark interface object length 
PASS PerformanceMark interface object name 
PASS PerformanceMark interface: existence and properties of interface prototype object 
PASS PerformanceMark interface: existence and properties of interface prototype object's "constructor" property 
PASS PerformanceMark interface: existence and properties of interface prototype object's @@unscopables property 
PASS PerformanceMeasure interface: existence and properties of interface object 
PASS PerformanceMeasure interface object length 
PASS PerformanceMeasure interface object name 
PASS PerformanceMeasure interface: existence and properties of interface prototype object 
PASS PerformanceMeasure interface: existence and properties of interface prototype object's "constructor" property 
PASS PerformanceMeasure interface: existence and properties of interface prototype object's @@unscopables property 
partial interface Performance {
    void mark(DOMString markName);
    void clearMarks(optional  DOMString markName);

    void measure(DOMString measureName, optional DOMString startMark, optional DOMString endMark);
    void clearMeasures(optional DOMString measureName);
};

[Exposed=(Window,Worker)]
interface PerformanceMark : PerformanceEntry {
};

[Exposed=(Window,Worker)]
interface PerformanceMeasure : PerformanceEntry {
};


