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 17 matching lines...) Expand all Loading... |
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 // https://w3c.github.io/hr-time/#the-performance-interface | 32 // https://w3c.github.io/hr-time/#the-performance-interface |
33 | 33 |
34 // TODO(philipj): This interface should be [Exposed=(Window,Worker)]. Doing that | 34 // TODO(philipj): This interface should be [Exposed=(Window,Worker)]. Doing that |
35 // would allow the WorkerPerformance interface to be merged into this. | 35 // would allow the WorkerPerformance interface to be merged into this. |
36 // TODO(philipj): None of the optional DOMString arguments in this interface | 36 // TODO(philipj): None of the optional DOMString arguments in this interface |
37 // should have a default value. | 37 // should have a default value. |
38 interface Performance : EventTarget { | 38 [ |
| 39 GarbageCollected |
| 40 ] interface Performance : EventTarget { |
39 DOMHighResTimeStamp now(); | 41 DOMHighResTimeStamp now(); |
40 | 42 |
41 // Performance Timeline | 43 // Performance Timeline |
42 // https://w3c.github.io/performance-timeline/#the-performance-interface | 44 // https://w3c.github.io/performance-timeline/#the-performance-interface |
43 // TODO(philipj): getEntries() should take an optional FilterOptions argumen
t. | 45 // TODO(philipj): getEntries() should take an optional FilterOptions argumen
t. |
44 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntries(); | 46 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntries(); |
45 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntriesByT
ype(DOMString entryType); | 47 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntriesByT
ype(DOMString entryType); |
46 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntriesByN
ame(DOMString name, optional DOMString entryType = null); | 48 [MeasureAs=UnprefixedPerformanceTimeline] PerformanceEntryList getEntriesByN
ame(DOMString name, optional DOMString entryType = null); |
47 | 49 |
48 // Resource Timing | 50 // Resource Timing |
49 // https://w3c.github.io/resource-timing/#extensions-performance-interface | 51 // https://w3c.github.io/resource-timing/#extensions-performance-interface |
50 // TODO(philipj): Unprefix these APIs. | 52 void clearResourceTimings(); |
51 [MeasureAs=PrefixedPerformanceClearResourceTimings] void webkitClearResource
Timings(); | 53 void setResourceTimingBufferSize(unsigned long maxSize); |
52 [MeasureAs=PrefixedPerformanceSetResourceTimingBufferSize] void webkitSetRes
ourceTimingBufferSize(unsigned long maxSize); | 54 attribute EventHandler onresourcetimingbufferfull; |
53 attribute EventHandler onwebkitresourcetimingbufferfull; | 55 |
| 56 // TODO(ksakamoto): Remove these prefixed APIs. |
| 57 [DeprecateAs=PrefixedPerformanceClearResourceTimings, ImplementedAs=clearRes
ourceTimings] void webkitClearResourceTimings(); |
| 58 [DeprecateAs=PrefixedPerformanceSetResourceTimingBufferSize, ImplementedAs=s
etResourceTimingBufferSize] void webkitSetResourceTimingBufferSize(unsigned long
maxSize); |
| 59 [DeprecateAs=PrefixedPerformanceResourceTimingBufferFull] attribute EventHan
dler onwebkitresourcetimingbufferfull; |
54 | 60 |
55 // Navigation Timing | 61 // Navigation Timing |
56 // http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute | 62 // https://w3c.github.io/navigation-timing/#extensions-to-the-performance-in
terface |
57 // TODO(philipj): The Navigation Timing Rec. defines the (not partial) | 63 [SameObject, Measure] readonly attribute PerformanceTiming timing; |
58 // Performance interface, while https://w3c.github.io/navigation-timing/ has | 64 [SameObject, Measure] readonly attribute PerformanceNavigation navigation; |
59 // changed the interface in an incompatible way: | |
60 // https://github.com/w3c/navigation-timing/issues/22 | |
61 [Measure] readonly attribute PerformanceTiming timing; | |
62 [Measure] readonly attribute PerformanceNavigation navigation; | |
63 | 65 |
64 // User Timing | 66 // User Timing |
65 // https://w3c.github.io/user-timing/#extensions-performance-interface | 67 // https://w3c.github.io/user-timing/#extensions-performance-interface |
66 [MeasureAs=UnprefixedUserTiming, RaisesException] void mark(DOMString markNa
me); | 68 [MeasureAs=UnprefixedUserTiming, RaisesException] void mark(DOMString markNa
me); |
67 [MeasureAs=UnprefixedUserTiming] void clearMarks(optional DOMString markName
= null); | 69 [MeasureAs=UnprefixedUserTiming] void clearMarks(optional DOMString markName
= null); |
68 | 70 |
69 [MeasureAs=UnprefixedUserTiming, RaisesException] void measure(DOMString mea
sureName, optional DOMString startMark = null, optional DOMString endMark = null
); | 71 [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); | 72 [MeasureAs=UnprefixedUserTiming] void clearMeasures(optional DOMString measu
reName = null); |
71 | 73 |
72 // Frame Timing | 74 // Frame Timing |
73 // https://w3c.github.io/frame-timing/#extensions-performance-interface | 75 // https://w3c.github.io/frame-timing/#extensions-performance-interface |
74 [RuntimeEnabled=FrameTimingSupport, MeasureAs=PerformanceFrameTiming] void c
learFrameTimings(); | 76 [RuntimeEnabled=FrameTimingSupport, MeasureAs=PerformanceFrameTiming] void c
learFrameTimings(); |
75 [RuntimeEnabled=FrameTimingSupport, MeasureAs=PerformanceFrameTiming] void s
etFrameTimingBufferSize(unsigned long maxSize); | 77 [RuntimeEnabled=FrameTimingSupport, MeasureAs=PerformanceFrameTiming] void s
etFrameTimingBufferSize(unsigned long maxSize); |
76 [RuntimeEnabled=FrameTimingSupport] attribute EventHandler onframetimingbuff
erfull; | 78 [RuntimeEnabled=FrameTimingSupport] attribute EventHandler onframetimingbuff
erfull; |
77 | 79 |
78 // TODO(philipj): There is no spec for the Memory Info API, see blink-dev: | 80 // TODO(philipj): There is no spec for the Memory Info API, see blink-dev: |
79 // https://groups.google.com/a/chromium.org/d/msg/blink-dev/g5YRCGpC9vs/b4OJ
z71NmPwJ | 81 // https://groups.google.com/a/chromium.org/d/msg/blink-dev/g5YRCGpC9vs/b4OJ
z71NmPwJ |
80 [Measure] readonly attribute MemoryInfo memory; | 82 [Measure] readonly attribute MemoryInfo memory; |
81 }; | 83 }; |
OLD | NEW |