Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2012 Intel Inc. All rights reserved. | 3 * Copyright (C) 2012 Intel Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| 23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 30 */ | 30 */ |
| 31 | 31 |
| 32 // See: http://www.w3.org/TR/navigation-timing/ | 32 // https://w3c.github.io/hr-time/#the-performance-interface |
| 33 | |
| 34 // TODO(philipj): This interface should be [Exposed=(Window,Worker)]. Doing that | |
| 35 // would allow the WorkerPerformance interface to be merged into this. | |
| 36 // TODO(philipj): None of the optional DOMString arguments in this interface | |
| 37 // should have a default value. | |
| 33 interface Performance : EventTarget { | 38 interface Performance : EventTarget { |
| 34 readonly attribute PerformanceNavigation navigation; | 39 DOMHighResTimeStamp now(); |
| 35 readonly attribute PerformanceTiming timing; | |
| 36 readonly attribute MemoryInfo memory; | |
| 37 | 40 |
| 38 [MeasureAs=UnprefixedPerformanceTimeline] sequence<PerformanceEntry> getEntr ies(); | 41 // Performance Timeline |
| 39 [MeasureAs=UnprefixedPerformanceTimeline] sequence<PerformanceEntry> getEntr iesByType(DOMString entryType); | 42 // https://w3c.github.io/performance-timeline/#the-performance-interface |
| 40 [MeasureAs=UnprefixedPerformanceTimeline] sequence<PerformanceEntry> getEntr iesByName(DOMString name, optional DOMString entryType = null); | 43 // TODO(philipj): getEntries() should take an optional FilterOptions argumen t. |
| 44 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntries(); | |
| 45 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntriesByT ype(DOMString entryType); | |
| 46 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntriesByN ame(DOMString name, optional DOMString entryType = null); | |
| 41 | 47 |
| 48 // Resource Timing | |
| 49 // https://w3c.github.io/resource-timing/#extensions-performance-interface | |
| 50 // TODO(philipj): Unprefix thes APIs. | |
|
Kunihiko Sakamoto
2015/07/10 06:37:55
s/thes/these/
philipj_slow
2015/07/10 08:18:14
Done.
| |
| 42 [MeasureAs=PrefixedPerformanceClearResourceTimings] void webkitClearResource Timings(); | 51 [MeasureAs=PrefixedPerformanceClearResourceTimings] void webkitClearResource Timings(); |
| 43 [MeasureAs=PrefixedPerformanceSetResourceTimingBufferSize] void webkitSetRes ourceTimingBufferSize(unsigned long maxSize); | 52 [MeasureAs=PrefixedPerformanceSetResourceTimingBufferSize] void webkitSetRes ourceTimingBufferSize(unsigned long maxSize); |
| 44 | |
| 45 [MeasureAs=PerformanceFrameTiming,RuntimeEnabled=FrameTimingSupport] void cl earFrameTimings(); | |
| 46 [MeasureAs=PerformanceFrameTiming,RuntimeEnabled=FrameTimingSupport] void se tFrameTimingBufferSize(unsigned long maxSize); | |
| 47 | |
| 48 attribute EventHandler onwebkitresourcetimingbufferfull; | 53 attribute EventHandler onwebkitresourcetimingbufferfull; |
| 49 | 54 |
| 55 // Navigation Timing | |
| 56 // http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute | |
| 57 // TODO(philipj): The Navigation Timing Rec. defines the (not partial) | |
| 58 // Performance interface, while https://w3c.github.io/navigation-timing/ has | |
| 59 // changed the interface in an incompatible way, so there is no current spec | |
| 60 // for this: | |
|
Kunihiko Sakamoto
2015/07/10 06:37:55
IIUC https://w3c.github.io/navigation-timing/ is c
philipj_slow
2015/07/10 08:18:14
I've removed the "there is no spec" bit and just l
| |
| 61 [Measure] readonly attribute PerformanceTiming timing; | |
| 62 [Measure] readonly attribute PerformanceNavigation navigation; | |
| 63 | |
| 64 // User Timing | |
| 65 // https://w3c.github.io/user-timing/#extensions-performance-interface | |
| 66 [MeasureAs=UnprefixedUserTiming, RaisesException] void mark(DOMString markNa me); | |
| 67 [MeasureAs=UnprefixedUserTiming] void clearMarks(optional DOMString markName = null); | |
| 68 | |
| 69 [MeasureAs=UnprefixedUserTiming, RaisesException] void measure(DOMString mea sureName, optional DOMString startMark = null, optional DOMString endMark = null ); | |
| 70 [MeasureAs=UnprefixedUserTiming] void clearMeasures(optional DOMString measu reName = null); | |
| 71 | |
| 72 // Frame Timing | |
| 73 // https://w3c.github.io/frame-timing/#extensions-performance-interface | |
| 74 [RuntimeEnabled=FrameTimingSupport, MeasureAs=PerformanceFrameTiming] void c learFrameTimings(); | |
| 75 [RuntimeEnabled=FrameTimingSupport, MeasureAs=PerformanceFrameTiming] void s etFrameTimingBufferSize(unsigned long maxSize); | |
| 50 [RuntimeEnabled=FrameTimingSupport] attribute EventHandler onframetimingbuff erfull; | 76 [RuntimeEnabled=FrameTimingSupport] attribute EventHandler onframetimingbuff erfull; |
| 51 | 77 |
| 52 // See http://www.w3.org/TR/2012/CR-user-timing-20120726/ | 78 // TODO(philipj): There is no spec for the Memory Info API, see blink-dev: |
| 53 [RaisesException,MeasureAs=UnprefixedUserTiming] void mark(DOMString markNam e); | 79 // https://groups.google.com/a/chromium.org/d/msg/blink-dev/g5YRCGpC9vs/b4OJ z71NmPwJ |
| 54 [MeasureAs=UnprefixedUserTiming] void clearMarks(optional DOMString markName = null); | 80 [Measure] readonly attribute MemoryInfo memory; |
| 55 | |
| 56 [RaisesException,MeasureAs=UnprefixedUserTiming] void measure(DOMString meas ureName, optional DOMString startMark = null, optional DOMString endMark = null) ; | |
| 57 [MeasureAs=UnprefixedUserTiming] void clearMeasures(optional DOMString measu reName = null); | |
| 58 | |
| 59 // See http://www.w3.org/TR/hr-time/ for details. | |
| 60 double now(); | |
| 61 }; | 81 }; |
| OLD | NEW |