Line data Source code
1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM ../../../dist/idl/nsIPerformanceStats.idl
3 : */
4 :
5 : #ifndef __gen_nsIPerformanceStats_h__
6 : #define __gen_nsIPerformanceStats_h__
7 :
8 :
9 : #ifndef __gen_nsISupports_h__
10 : #include "nsISupports.h"
11 : #endif
12 :
13 : #ifndef __gen_nsIArray_h__
14 : #include "nsIArray.h"
15 : #endif
16 :
17 : #ifndef __gen_nsIDOMWindow_h__
18 : #include "nsIDOMWindow.h"
19 : #endif
20 :
21 : #include "js/Value.h"
22 :
23 : /* For IDL files that don't want to include root IDL files. */
24 : #ifndef NS_NO_VTABLE
25 : #define NS_NO_VTABLE
26 : #endif
27 :
28 : /* starting interface: nsIPerformanceGroupDetails */
29 : #define NS_IPERFORMANCEGROUPDETAILS_IID_STR "994c56be-939a-4f20-8364-124f6422d86a"
30 :
31 : #define NS_IPERFORMANCEGROUPDETAILS_IID \
32 : {0x994c56be, 0x939a, 0x4f20, \
33 : { 0x83, 0x64, 0x12, 0x4f, 0x64, 0x22, 0xd8, 0x6a }}
34 :
35 0 : class NS_NO_VTABLE nsIPerformanceGroupDetails : public nsISupports {
36 : public:
37 :
38 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERFORMANCEGROUPDETAILS_IID)
39 :
40 : /* readonly attribute AString groupId; */
41 : NS_IMETHOD GetGroupId(nsAString & aGroupId) = 0;
42 :
43 : /* readonly attribute AString name; */
44 : NS_IMETHOD GetName(nsAString & aName) = 0;
45 :
46 : /* readonly attribute uint64_t windowId; */
47 : NS_IMETHOD GetWindowId(uint64_t *aWindowId) = 0;
48 :
49 : /* readonly attribute bool isSystem; */
50 : NS_IMETHOD GetIsSystem(bool *aIsSystem) = 0;
51 :
52 : /* readonly attribute unsigned long long processId; */
53 : NS_IMETHOD GetProcessId(uint64_t *aProcessId) = 0;
54 :
55 : /* readonly attribute bool isContentProcess; */
56 : NS_IMETHOD GetIsContentProcess(bool *aIsContentProcess) = 0;
57 :
58 : };
59 :
60 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPerformanceGroupDetails, NS_IPERFORMANCEGROUPDETAILS_IID)
61 :
62 : /* Use this macro when declaring classes that implement this interface. */
63 : #define NS_DECL_NSIPERFORMANCEGROUPDETAILS \
64 : NS_IMETHOD GetGroupId(nsAString & aGroupId) override; \
65 : NS_IMETHOD GetName(nsAString & aName) override; \
66 : NS_IMETHOD GetWindowId(uint64_t *aWindowId) override; \
67 : NS_IMETHOD GetIsSystem(bool *aIsSystem) override; \
68 : NS_IMETHOD GetProcessId(uint64_t *aProcessId) override; \
69 : NS_IMETHOD GetIsContentProcess(bool *aIsContentProcess) override;
70 :
71 : /* Use this macro when declaring the members of this interface when the
72 : class doesn't implement the interface. This is useful for forwarding. */
73 : #define NS_DECL_NON_VIRTUAL_NSIPERFORMANCEGROUPDETAILS \
74 : nsresult GetGroupId(nsAString & aGroupId); \
75 : nsresult GetName(nsAString & aName); \
76 : nsresult GetWindowId(uint64_t *aWindowId); \
77 : nsresult GetIsSystem(bool *aIsSystem); \
78 : nsresult GetProcessId(uint64_t *aProcessId); \
79 : nsresult GetIsContentProcess(bool *aIsContentProcess);
80 :
81 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
82 : #define NS_FORWARD_NSIPERFORMANCEGROUPDETAILS(_to) \
83 : NS_IMETHOD GetGroupId(nsAString & aGroupId) override { return _to GetGroupId(aGroupId); } \
84 : NS_IMETHOD GetName(nsAString & aName) override { return _to GetName(aName); } \
85 : NS_IMETHOD GetWindowId(uint64_t *aWindowId) override { return _to GetWindowId(aWindowId); } \
86 : NS_IMETHOD GetIsSystem(bool *aIsSystem) override { return _to GetIsSystem(aIsSystem); } \
87 : NS_IMETHOD GetProcessId(uint64_t *aProcessId) override { return _to GetProcessId(aProcessId); } \
88 : NS_IMETHOD GetIsContentProcess(bool *aIsContentProcess) override { return _to GetIsContentProcess(aIsContentProcess); }
89 :
90 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
91 : #define NS_FORWARD_SAFE_NSIPERFORMANCEGROUPDETAILS(_to) \
92 : NS_IMETHOD GetGroupId(nsAString & aGroupId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGroupId(aGroupId); } \
93 : NS_IMETHOD GetName(nsAString & aName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetName(aName); } \
94 : NS_IMETHOD GetWindowId(uint64_t *aWindowId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetWindowId(aWindowId); } \
95 : NS_IMETHOD GetIsSystem(bool *aIsSystem) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsSystem(aIsSystem); } \
96 : NS_IMETHOD GetProcessId(uint64_t *aProcessId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProcessId(aProcessId); } \
97 : NS_IMETHOD GetIsContentProcess(bool *aIsContentProcess) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsContentProcess(aIsContentProcess); }
98 :
99 : #if 0
100 : /* Use the code below as a template for the implementation class for this interface. */
101 :
102 : /* Header file */
103 : class nsPerformanceGroupDetails : public nsIPerformanceGroupDetails
104 : {
105 : public:
106 : NS_DECL_ISUPPORTS
107 : NS_DECL_NSIPERFORMANCEGROUPDETAILS
108 :
109 : nsPerformanceGroupDetails();
110 :
111 : private:
112 : ~nsPerformanceGroupDetails();
113 :
114 : protected:
115 : /* additional members */
116 : };
117 :
118 : /* Implementation file */
119 : NS_IMPL_ISUPPORTS(nsPerformanceGroupDetails, nsIPerformanceGroupDetails)
120 :
121 : nsPerformanceGroupDetails::nsPerformanceGroupDetails()
122 : {
123 : /* member initializers and constructor code */
124 : }
125 :
126 : nsPerformanceGroupDetails::~nsPerformanceGroupDetails()
127 : {
128 : /* destructor code */
129 : }
130 :
131 : /* readonly attribute AString groupId; */
132 : NS_IMETHODIMP nsPerformanceGroupDetails::GetGroupId(nsAString & aGroupId)
133 : {
134 : return NS_ERROR_NOT_IMPLEMENTED;
135 : }
136 :
137 : /* readonly attribute AString name; */
138 : NS_IMETHODIMP nsPerformanceGroupDetails::GetName(nsAString & aName)
139 : {
140 : return NS_ERROR_NOT_IMPLEMENTED;
141 : }
142 :
143 : /* readonly attribute uint64_t windowId; */
144 : NS_IMETHODIMP nsPerformanceGroupDetails::GetWindowId(uint64_t *aWindowId)
145 : {
146 : return NS_ERROR_NOT_IMPLEMENTED;
147 : }
148 :
149 : /* readonly attribute bool isSystem; */
150 : NS_IMETHODIMP nsPerformanceGroupDetails::GetIsSystem(bool *aIsSystem)
151 : {
152 : return NS_ERROR_NOT_IMPLEMENTED;
153 : }
154 :
155 : /* readonly attribute unsigned long long processId; */
156 : NS_IMETHODIMP nsPerformanceGroupDetails::GetProcessId(uint64_t *aProcessId)
157 : {
158 : return NS_ERROR_NOT_IMPLEMENTED;
159 : }
160 :
161 : /* readonly attribute bool isContentProcess; */
162 : NS_IMETHODIMP nsPerformanceGroupDetails::GetIsContentProcess(bool *aIsContentProcess)
163 : {
164 : return NS_ERROR_NOT_IMPLEMENTED;
165 : }
166 :
167 : /* End of implementation class template. */
168 : #endif
169 :
170 :
171 : /* starting interface: nsIPerformanceStats */
172 : #define NS_IPERFORMANCESTATS_IID_STR "8a635d4b-aa56-466b-9a7d-9f91ca9405ef"
173 :
174 : #define NS_IPERFORMANCESTATS_IID \
175 : {0x8a635d4b, 0xaa56, 0x466b, \
176 : { 0x9a, 0x7d, 0x9f, 0x91, 0xca, 0x94, 0x05, 0xef }}
177 :
178 0 : class NS_NO_VTABLE nsIPerformanceStats : public nsIPerformanceGroupDetails {
179 : public:
180 :
181 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERFORMANCESTATS_IID)
182 :
183 : /* readonly attribute unsigned long long totalUserTime; */
184 : NS_IMETHOD GetTotalUserTime(uint64_t *aTotalUserTime) = 0;
185 :
186 : /* readonly attribute unsigned long long totalSystemTime; */
187 : NS_IMETHOD GetTotalSystemTime(uint64_t *aTotalSystemTime) = 0;
188 :
189 : /* readonly attribute unsigned long long totalCPOWTime; */
190 : NS_IMETHOD GetTotalCPOWTime(uint64_t *aTotalCPOWTime) = 0;
191 :
192 : /* readonly attribute unsigned long long ticks; */
193 : NS_IMETHOD GetTicks(uint64_t *aTicks) = 0;
194 :
195 : /* void getDurations ([optional] out unsigned long aCount, [array, size_is (aCount), retval] out unsigned long long aNumberOfOccurrences); */
196 : NS_IMETHOD GetDurations(uint32_t *aCount, uint64_t **aNumberOfOccurrences) = 0;
197 :
198 : };
199 :
200 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPerformanceStats, NS_IPERFORMANCESTATS_IID)
201 :
202 : /* Use this macro when declaring classes that implement this interface. */
203 : #define NS_DECL_NSIPERFORMANCESTATS \
204 : NS_IMETHOD GetTotalUserTime(uint64_t *aTotalUserTime) override; \
205 : NS_IMETHOD GetTotalSystemTime(uint64_t *aTotalSystemTime) override; \
206 : NS_IMETHOD GetTotalCPOWTime(uint64_t *aTotalCPOWTime) override; \
207 : NS_IMETHOD GetTicks(uint64_t *aTicks) override; \
208 : NS_IMETHOD GetDurations(uint32_t *aCount, uint64_t **aNumberOfOccurrences) override;
209 :
210 : /* Use this macro when declaring the members of this interface when the
211 : class doesn't implement the interface. This is useful for forwarding. */
212 : #define NS_DECL_NON_VIRTUAL_NSIPERFORMANCESTATS \
213 : nsresult GetTotalUserTime(uint64_t *aTotalUserTime); \
214 : nsresult GetTotalSystemTime(uint64_t *aTotalSystemTime); \
215 : nsresult GetTotalCPOWTime(uint64_t *aTotalCPOWTime); \
216 : nsresult GetTicks(uint64_t *aTicks); \
217 : nsresult GetDurations(uint32_t *aCount, uint64_t **aNumberOfOccurrences);
218 :
219 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
220 : #define NS_FORWARD_NSIPERFORMANCESTATS(_to) \
221 : NS_IMETHOD GetTotalUserTime(uint64_t *aTotalUserTime) override { return _to GetTotalUserTime(aTotalUserTime); } \
222 : NS_IMETHOD GetTotalSystemTime(uint64_t *aTotalSystemTime) override { return _to GetTotalSystemTime(aTotalSystemTime); } \
223 : NS_IMETHOD GetTotalCPOWTime(uint64_t *aTotalCPOWTime) override { return _to GetTotalCPOWTime(aTotalCPOWTime); } \
224 : NS_IMETHOD GetTicks(uint64_t *aTicks) override { return _to GetTicks(aTicks); } \
225 : NS_IMETHOD GetDurations(uint32_t *aCount, uint64_t **aNumberOfOccurrences) override { return _to GetDurations(aCount, aNumberOfOccurrences); }
226 :
227 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
228 : #define NS_FORWARD_SAFE_NSIPERFORMANCESTATS(_to) \
229 : NS_IMETHOD GetTotalUserTime(uint64_t *aTotalUserTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTotalUserTime(aTotalUserTime); } \
230 : NS_IMETHOD GetTotalSystemTime(uint64_t *aTotalSystemTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTotalSystemTime(aTotalSystemTime); } \
231 : NS_IMETHOD GetTotalCPOWTime(uint64_t *aTotalCPOWTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTotalCPOWTime(aTotalCPOWTime); } \
232 : NS_IMETHOD GetTicks(uint64_t *aTicks) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTicks(aTicks); } \
233 : NS_IMETHOD GetDurations(uint32_t *aCount, uint64_t **aNumberOfOccurrences) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDurations(aCount, aNumberOfOccurrences); }
234 :
235 : #if 0
236 : /* Use the code below as a template for the implementation class for this interface. */
237 :
238 : /* Header file */
239 : class nsPerformanceStats : public nsIPerformanceStats
240 : {
241 : public:
242 : NS_DECL_ISUPPORTS
243 : NS_DECL_NSIPERFORMANCESTATS
244 :
245 : nsPerformanceStats();
246 :
247 : private:
248 : ~nsPerformanceStats();
249 :
250 : protected:
251 : /* additional members */
252 : };
253 :
254 : /* Implementation file */
255 : NS_IMPL_ISUPPORTS(nsPerformanceStats, nsIPerformanceStats)
256 :
257 : nsPerformanceStats::nsPerformanceStats()
258 : {
259 : /* member initializers and constructor code */
260 : }
261 :
262 : nsPerformanceStats::~nsPerformanceStats()
263 : {
264 : /* destructor code */
265 : }
266 :
267 : /* readonly attribute unsigned long long totalUserTime; */
268 : NS_IMETHODIMP nsPerformanceStats::GetTotalUserTime(uint64_t *aTotalUserTime)
269 : {
270 : return NS_ERROR_NOT_IMPLEMENTED;
271 : }
272 :
273 : /* readonly attribute unsigned long long totalSystemTime; */
274 : NS_IMETHODIMP nsPerformanceStats::GetTotalSystemTime(uint64_t *aTotalSystemTime)
275 : {
276 : return NS_ERROR_NOT_IMPLEMENTED;
277 : }
278 :
279 : /* readonly attribute unsigned long long totalCPOWTime; */
280 : NS_IMETHODIMP nsPerformanceStats::GetTotalCPOWTime(uint64_t *aTotalCPOWTime)
281 : {
282 : return NS_ERROR_NOT_IMPLEMENTED;
283 : }
284 :
285 : /* readonly attribute unsigned long long ticks; */
286 : NS_IMETHODIMP nsPerformanceStats::GetTicks(uint64_t *aTicks)
287 : {
288 : return NS_ERROR_NOT_IMPLEMENTED;
289 : }
290 :
291 : /* void getDurations ([optional] out unsigned long aCount, [array, size_is (aCount), retval] out unsigned long long aNumberOfOccurrences); */
292 : NS_IMETHODIMP nsPerformanceStats::GetDurations(uint32_t *aCount, uint64_t **aNumberOfOccurrences)
293 : {
294 : return NS_ERROR_NOT_IMPLEMENTED;
295 : }
296 :
297 : /* End of implementation class template. */
298 : #endif
299 :
300 :
301 : /* starting interface: nsIPerformanceSnapshot */
302 : #define NS_IPERFORMANCESNAPSHOT_IID_STR "13cc235b-739e-4690-b0e3-d89cbe036a93"
303 :
304 : #define NS_IPERFORMANCESNAPSHOT_IID \
305 : {0x13cc235b, 0x739e, 0x4690, \
306 : { 0xb0, 0xe3, 0xd8, 0x9c, 0xbe, 0x03, 0x6a, 0x93 }}
307 :
308 0 : class NS_NO_VTABLE nsIPerformanceSnapshot : public nsISupports {
309 : public:
310 :
311 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERFORMANCESNAPSHOT_IID)
312 :
313 : /* nsIArray getComponentsData (); */
314 : NS_IMETHOD GetComponentsData(nsIArray * *_retval) = 0;
315 :
316 : /* nsIPerformanceStats getProcessData (); */
317 : NS_IMETHOD GetProcessData(nsIPerformanceStats * *_retval) = 0;
318 :
319 : };
320 :
321 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPerformanceSnapshot, NS_IPERFORMANCESNAPSHOT_IID)
322 :
323 : /* Use this macro when declaring classes that implement this interface. */
324 : #define NS_DECL_NSIPERFORMANCESNAPSHOT \
325 : NS_IMETHOD GetComponentsData(nsIArray * *_retval) override; \
326 : NS_IMETHOD GetProcessData(nsIPerformanceStats * *_retval) override;
327 :
328 : /* Use this macro when declaring the members of this interface when the
329 : class doesn't implement the interface. This is useful for forwarding. */
330 : #define NS_DECL_NON_VIRTUAL_NSIPERFORMANCESNAPSHOT \
331 : nsresult GetComponentsData(nsIArray * *_retval); \
332 : nsresult GetProcessData(nsIPerformanceStats * *_retval);
333 :
334 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
335 : #define NS_FORWARD_NSIPERFORMANCESNAPSHOT(_to) \
336 : NS_IMETHOD GetComponentsData(nsIArray * *_retval) override { return _to GetComponentsData(_retval); } \
337 : NS_IMETHOD GetProcessData(nsIPerformanceStats * *_retval) override { return _to GetProcessData(_retval); }
338 :
339 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
340 : #define NS_FORWARD_SAFE_NSIPERFORMANCESNAPSHOT(_to) \
341 : NS_IMETHOD GetComponentsData(nsIArray * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetComponentsData(_retval); } \
342 : NS_IMETHOD GetProcessData(nsIPerformanceStats * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProcessData(_retval); }
343 :
344 : #if 0
345 : /* Use the code below as a template for the implementation class for this interface. */
346 :
347 : /* Header file */
348 : class nsPerformanceSnapshot : public nsIPerformanceSnapshot
349 : {
350 : public:
351 : NS_DECL_ISUPPORTS
352 : NS_DECL_NSIPERFORMANCESNAPSHOT
353 :
354 : nsPerformanceSnapshot();
355 :
356 : private:
357 : ~nsPerformanceSnapshot();
358 :
359 : protected:
360 : /* additional members */
361 : };
362 :
363 : /* Implementation file */
364 : NS_IMPL_ISUPPORTS(nsPerformanceSnapshot, nsIPerformanceSnapshot)
365 :
366 : nsPerformanceSnapshot::nsPerformanceSnapshot()
367 : {
368 : /* member initializers and constructor code */
369 : }
370 :
371 : nsPerformanceSnapshot::~nsPerformanceSnapshot()
372 : {
373 : /* destructor code */
374 : }
375 :
376 : /* nsIArray getComponentsData (); */
377 : NS_IMETHODIMP nsPerformanceSnapshot::GetComponentsData(nsIArray * *_retval)
378 : {
379 : return NS_ERROR_NOT_IMPLEMENTED;
380 : }
381 :
382 : /* nsIPerformanceStats getProcessData (); */
383 : NS_IMETHODIMP nsPerformanceSnapshot::GetProcessData(nsIPerformanceStats * *_retval)
384 : {
385 : return NS_ERROR_NOT_IMPLEMENTED;
386 : }
387 :
388 : /* End of implementation class template. */
389 : #endif
390 :
391 :
392 : /* starting interface: nsIPerformanceAlert */
393 : #define NS_IPERFORMANCEALERT_IID_STR "a85706ab-d703-4687-8865-78cd771eab93"
394 :
395 : #define NS_IPERFORMANCEALERT_IID \
396 : {0xa85706ab, 0xd703, 0x4687, \
397 : { 0x88, 0x65, 0x78, 0xcd, 0x77, 0x1e, 0xab, 0x93 }}
398 :
399 0 : class NS_NO_VTABLE nsIPerformanceAlert : public nsISupports {
400 : public:
401 :
402 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERFORMANCEALERT_IID)
403 :
404 : enum {
405 : REASON_SLOWDOWN = 1U,
406 : REASON_JANK_IN_ANIMATION = 2U,
407 : REASON_JANK_IN_INPUT = 4U
408 : };
409 :
410 : /* readonly attribute unsigned long reason; */
411 : NS_IMETHOD GetReason(uint32_t *aReason) = 0;
412 :
413 : /* readonly attribute unsigned long long highestJank; */
414 : NS_IMETHOD GetHighestJank(uint64_t *aHighestJank) = 0;
415 :
416 : /* readonly attribute unsigned long long highestCPOW; */
417 : NS_IMETHOD GetHighestCPOW(uint64_t *aHighestCPOW) = 0;
418 :
419 : };
420 :
421 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPerformanceAlert, NS_IPERFORMANCEALERT_IID)
422 :
423 : /* Use this macro when declaring classes that implement this interface. */
424 : #define NS_DECL_NSIPERFORMANCEALERT \
425 : NS_IMETHOD GetReason(uint32_t *aReason) override; \
426 : NS_IMETHOD GetHighestJank(uint64_t *aHighestJank) override; \
427 : NS_IMETHOD GetHighestCPOW(uint64_t *aHighestCPOW) override;
428 :
429 : /* Use this macro when declaring the members of this interface when the
430 : class doesn't implement the interface. This is useful for forwarding. */
431 : #define NS_DECL_NON_VIRTUAL_NSIPERFORMANCEALERT \
432 : nsresult GetReason(uint32_t *aReason); \
433 : nsresult GetHighestJank(uint64_t *aHighestJank); \
434 : nsresult GetHighestCPOW(uint64_t *aHighestCPOW);
435 :
436 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
437 : #define NS_FORWARD_NSIPERFORMANCEALERT(_to) \
438 : NS_IMETHOD GetReason(uint32_t *aReason) override { return _to GetReason(aReason); } \
439 : NS_IMETHOD GetHighestJank(uint64_t *aHighestJank) override { return _to GetHighestJank(aHighestJank); } \
440 : NS_IMETHOD GetHighestCPOW(uint64_t *aHighestCPOW) override { return _to GetHighestCPOW(aHighestCPOW); }
441 :
442 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
443 : #define NS_FORWARD_SAFE_NSIPERFORMANCEALERT(_to) \
444 : NS_IMETHOD GetReason(uint32_t *aReason) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReason(aReason); } \
445 : NS_IMETHOD GetHighestJank(uint64_t *aHighestJank) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHighestJank(aHighestJank); } \
446 : NS_IMETHOD GetHighestCPOW(uint64_t *aHighestCPOW) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHighestCPOW(aHighestCPOW); }
447 :
448 : #if 0
449 : /* Use the code below as a template for the implementation class for this interface. */
450 :
451 : /* Header file */
452 : class nsPerformanceAlert : public nsIPerformanceAlert
453 : {
454 : public:
455 : NS_DECL_ISUPPORTS
456 : NS_DECL_NSIPERFORMANCEALERT
457 :
458 : nsPerformanceAlert();
459 :
460 : private:
461 : ~nsPerformanceAlert();
462 :
463 : protected:
464 : /* additional members */
465 : };
466 :
467 : /* Implementation file */
468 : NS_IMPL_ISUPPORTS(nsPerformanceAlert, nsIPerformanceAlert)
469 :
470 : nsPerformanceAlert::nsPerformanceAlert()
471 : {
472 : /* member initializers and constructor code */
473 : }
474 :
475 : nsPerformanceAlert::~nsPerformanceAlert()
476 : {
477 : /* destructor code */
478 : }
479 :
480 : /* readonly attribute unsigned long reason; */
481 : NS_IMETHODIMP nsPerformanceAlert::GetReason(uint32_t *aReason)
482 : {
483 : return NS_ERROR_NOT_IMPLEMENTED;
484 : }
485 :
486 : /* readonly attribute unsigned long long highestJank; */
487 : NS_IMETHODIMP nsPerformanceAlert::GetHighestJank(uint64_t *aHighestJank)
488 : {
489 : return NS_ERROR_NOT_IMPLEMENTED;
490 : }
491 :
492 : /* readonly attribute unsigned long long highestCPOW; */
493 : NS_IMETHODIMP nsPerformanceAlert::GetHighestCPOW(uint64_t *aHighestCPOW)
494 : {
495 : return NS_ERROR_NOT_IMPLEMENTED;
496 : }
497 :
498 : /* End of implementation class template. */
499 : #endif
500 :
501 :
502 : /* starting interface: nsIPerformanceObserver */
503 : #define NS_IPERFORMANCEOBSERVER_IID_STR "b746a929-3fec-420b-8ed8-c35d71995e05"
504 :
505 : #define NS_IPERFORMANCEOBSERVER_IID \
506 : {0xb746a929, 0x3fec, 0x420b, \
507 : { 0x8e, 0xd8, 0xc3, 0x5d, 0x71, 0x99, 0x5e, 0x05 }}
508 :
509 : class NS_NO_VTABLE nsIPerformanceObserver : public nsISupports {
510 : public:
511 :
512 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERFORMANCEOBSERVER_IID)
513 :
514 : /* void observe (in nsIPerformanceGroupDetails target, in nsIPerformanceAlert alert); */
515 : NS_IMETHOD Observe(nsIPerformanceGroupDetails *target, nsIPerformanceAlert *alert) = 0;
516 :
517 : };
518 :
519 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPerformanceObserver, NS_IPERFORMANCEOBSERVER_IID)
520 :
521 : /* Use this macro when declaring classes that implement this interface. */
522 : #define NS_DECL_NSIPERFORMANCEOBSERVER \
523 : NS_IMETHOD Observe(nsIPerformanceGroupDetails *target, nsIPerformanceAlert *alert) override;
524 :
525 : /* Use this macro when declaring the members of this interface when the
526 : class doesn't implement the interface. This is useful for forwarding. */
527 : #define NS_DECL_NON_VIRTUAL_NSIPERFORMANCEOBSERVER \
528 : nsresult Observe(nsIPerformanceGroupDetails *target, nsIPerformanceAlert *alert);
529 :
530 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
531 : #define NS_FORWARD_NSIPERFORMANCEOBSERVER(_to) \
532 : NS_IMETHOD Observe(nsIPerformanceGroupDetails *target, nsIPerformanceAlert *alert) override { return _to Observe(target, alert); }
533 :
534 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
535 : #define NS_FORWARD_SAFE_NSIPERFORMANCEOBSERVER(_to) \
536 : NS_IMETHOD Observe(nsIPerformanceGroupDetails *target, nsIPerformanceAlert *alert) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Observe(target, alert); }
537 :
538 : #if 0
539 : /* Use the code below as a template for the implementation class for this interface. */
540 :
541 : /* Header file */
542 : class nsPerformanceObserver : public nsIPerformanceObserver
543 : {
544 : public:
545 : NS_DECL_ISUPPORTS
546 : NS_DECL_NSIPERFORMANCEOBSERVER
547 :
548 : nsPerformanceObserver();
549 :
550 : private:
551 : ~nsPerformanceObserver();
552 :
553 : protected:
554 : /* additional members */
555 : };
556 :
557 : /* Implementation file */
558 : NS_IMPL_ISUPPORTS(nsPerformanceObserver, nsIPerformanceObserver)
559 :
560 : nsPerformanceObserver::nsPerformanceObserver()
561 : {
562 : /* member initializers and constructor code */
563 : }
564 :
565 : nsPerformanceObserver::~nsPerformanceObserver()
566 : {
567 : /* destructor code */
568 : }
569 :
570 : /* void observe (in nsIPerformanceGroupDetails target, in nsIPerformanceAlert alert); */
571 : NS_IMETHODIMP nsPerformanceObserver::Observe(nsIPerformanceGroupDetails *target, nsIPerformanceAlert *alert)
572 : {
573 : return NS_ERROR_NOT_IMPLEMENTED;
574 : }
575 :
576 : /* End of implementation class template. */
577 : #endif
578 :
579 :
580 : /* starting interface: nsIPerformanceObservable */
581 : #define NS_IPERFORMANCEOBSERVABLE_IID_STR "b85720d0-e328-4342-9e46-8ca1acf8c70e"
582 :
583 : #define NS_IPERFORMANCEOBSERVABLE_IID \
584 : {0xb85720d0, 0xe328, 0x4342, \
585 : { 0x9e, 0x46, 0x8c, 0xa1, 0xac, 0xf8, 0xc7, 0x0e }}
586 :
587 0 : class NS_NO_VTABLE nsIPerformanceObservable : public nsISupports {
588 : public:
589 :
590 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERFORMANCEOBSERVABLE_IID)
591 :
592 : /* readonly attribute nsIPerformanceGroupDetails target; */
593 : NS_IMETHOD GetTarget(nsIPerformanceGroupDetails * *aTarget) = 0;
594 :
595 : /* void addJankObserver (in nsIPerformanceObserver observer); */
596 : NS_IMETHOD AddJankObserver(nsIPerformanceObserver *observer) = 0;
597 :
598 : /* void removeJankObserver (in nsIPerformanceObserver observer); */
599 : NS_IMETHOD RemoveJankObserver(nsIPerformanceObserver *observer) = 0;
600 :
601 : };
602 :
603 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPerformanceObservable, NS_IPERFORMANCEOBSERVABLE_IID)
604 :
605 : /* Use this macro when declaring classes that implement this interface. */
606 : #define NS_DECL_NSIPERFORMANCEOBSERVABLE \
607 : NS_IMETHOD GetTarget(nsIPerformanceGroupDetails * *aTarget) override; \
608 : NS_IMETHOD AddJankObserver(nsIPerformanceObserver *observer) override; \
609 : NS_IMETHOD RemoveJankObserver(nsIPerformanceObserver *observer) override;
610 :
611 : /* Use this macro when declaring the members of this interface when the
612 : class doesn't implement the interface. This is useful for forwarding. */
613 : #define NS_DECL_NON_VIRTUAL_NSIPERFORMANCEOBSERVABLE \
614 : nsresult GetTarget(nsIPerformanceGroupDetails * *aTarget); \
615 : nsresult AddJankObserver(nsIPerformanceObserver *observer); \
616 : nsresult RemoveJankObserver(nsIPerformanceObserver *observer);
617 :
618 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
619 : #define NS_FORWARD_NSIPERFORMANCEOBSERVABLE(_to) \
620 : NS_IMETHOD GetTarget(nsIPerformanceGroupDetails * *aTarget) override { return _to GetTarget(aTarget); } \
621 : NS_IMETHOD AddJankObserver(nsIPerformanceObserver *observer) override { return _to AddJankObserver(observer); } \
622 : NS_IMETHOD RemoveJankObserver(nsIPerformanceObserver *observer) override { return _to RemoveJankObserver(observer); }
623 :
624 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
625 : #define NS_FORWARD_SAFE_NSIPERFORMANCEOBSERVABLE(_to) \
626 : NS_IMETHOD GetTarget(nsIPerformanceGroupDetails * *aTarget) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTarget(aTarget); } \
627 : NS_IMETHOD AddJankObserver(nsIPerformanceObserver *observer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddJankObserver(observer); } \
628 : NS_IMETHOD RemoveJankObserver(nsIPerformanceObserver *observer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveJankObserver(observer); }
629 :
630 : #if 0
631 : /* Use the code below as a template for the implementation class for this interface. */
632 :
633 : /* Header file */
634 : class nsPerformanceObservable : public nsIPerformanceObservable
635 : {
636 : public:
637 : NS_DECL_ISUPPORTS
638 : NS_DECL_NSIPERFORMANCEOBSERVABLE
639 :
640 : nsPerformanceObservable();
641 :
642 : private:
643 : ~nsPerformanceObservable();
644 :
645 : protected:
646 : /* additional members */
647 : };
648 :
649 : /* Implementation file */
650 : NS_IMPL_ISUPPORTS(nsPerformanceObservable, nsIPerformanceObservable)
651 :
652 : nsPerformanceObservable::nsPerformanceObservable()
653 : {
654 : /* member initializers and constructor code */
655 : }
656 :
657 : nsPerformanceObservable::~nsPerformanceObservable()
658 : {
659 : /* destructor code */
660 : }
661 :
662 : /* readonly attribute nsIPerformanceGroupDetails target; */
663 : NS_IMETHODIMP nsPerformanceObservable::GetTarget(nsIPerformanceGroupDetails * *aTarget)
664 : {
665 : return NS_ERROR_NOT_IMPLEMENTED;
666 : }
667 :
668 : /* void addJankObserver (in nsIPerformanceObserver observer); */
669 : NS_IMETHODIMP nsPerformanceObservable::AddJankObserver(nsIPerformanceObserver *observer)
670 : {
671 : return NS_ERROR_NOT_IMPLEMENTED;
672 : }
673 :
674 : /* void removeJankObserver (in nsIPerformanceObserver observer); */
675 : NS_IMETHODIMP nsPerformanceObservable::RemoveJankObserver(nsIPerformanceObserver *observer)
676 : {
677 : return NS_ERROR_NOT_IMPLEMENTED;
678 : }
679 :
680 : /* End of implementation class template. */
681 : #endif
682 :
683 :
684 : /* starting interface: nsIPerformanceStatsService */
685 : #define NS_IPERFORMANCESTATSSERVICE_IID_STR "505bc42e-be38-4a53-baba-92cb33690cde"
686 :
687 : #define NS_IPERFORMANCESTATSSERVICE_IID \
688 : {0x505bc42e, 0xbe38, 0x4a53, \
689 : { 0xba, 0xba, 0x92, 0xcb, 0x33, 0x69, 0x0c, 0xde }}
690 :
691 0 : class NS_NO_VTABLE nsIPerformanceStatsService : public nsISupports {
692 : public:
693 :
694 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPERFORMANCESTATSSERVICE_IID)
695 :
696 : /* [implicit_jscontext] attribute bool isMonitoringCPOW; */
697 : NS_IMETHOD GetIsMonitoringCPOW(JSContext* cx, bool *aIsMonitoringCPOW) = 0;
698 : NS_IMETHOD SetIsMonitoringCPOW(JSContext* cx, bool aIsMonitoringCPOW) = 0;
699 :
700 : /* [implicit_jscontext] attribute bool isMonitoringJank; */
701 : NS_IMETHOD GetIsMonitoringJank(JSContext* cx, bool *aIsMonitoringJank) = 0;
702 : NS_IMETHOD SetIsMonitoringJank(JSContext* cx, bool aIsMonitoringJank) = 0;
703 :
704 : /* [implicit_jscontext] attribute bool isMonitoringPerCompartment; */
705 : NS_IMETHOD GetIsMonitoringPerCompartment(JSContext* cx, bool *aIsMonitoringPerCompartment) = 0;
706 : NS_IMETHOD SetIsMonitoringPerCompartment(JSContext* cx, bool aIsMonitoringPerCompartment) = 0;
707 :
708 : /* [implicit_jscontext] nsIPerformanceSnapshot getSnapshot (); */
709 : NS_IMETHOD GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *_retval) = 0;
710 :
711 : /* attribute unsigned long long jankAlertThreshold; */
712 : NS_IMETHOD GetJankAlertThreshold(uint64_t *aJankAlertThreshold) = 0;
713 : NS_IMETHOD SetJankAlertThreshold(uint64_t aJankAlertThreshold) = 0;
714 :
715 : /* attribute short animationJankLevelThreshold; */
716 : NS_IMETHOD GetAnimationJankLevelThreshold(int16_t *aAnimationJankLevelThreshold) = 0;
717 : NS_IMETHOD SetAnimationJankLevelThreshold(int16_t aAnimationJankLevelThreshold) = 0;
718 :
719 : /* attribute unsigned long long userInputDelayThreshold; */
720 : NS_IMETHOD GetUserInputDelayThreshold(uint64_t *aUserInputDelayThreshold) = 0;
721 : NS_IMETHOD SetUserInputDelayThreshold(uint64_t aUserInputDelayThreshold) = 0;
722 :
723 : /* attribute unsigned long jankAlertBufferingDelay; */
724 : NS_IMETHOD GetJankAlertBufferingDelay(uint32_t *aJankAlertBufferingDelay) = 0;
725 : NS_IMETHOD SetJankAlertBufferingDelay(uint32_t aJankAlertBufferingDelay) = 0;
726 :
727 : /* nsIPerformanceObservable getObservableWindow (in unsigned long long windowId); */
728 : NS_IMETHOD GetObservableWindow(uint64_t windowId, nsIPerformanceObservable * *_retval) = 0;
729 :
730 : };
731 :
732 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIPerformanceStatsService, NS_IPERFORMANCESTATSSERVICE_IID)
733 :
734 : /* Use this macro when declaring classes that implement this interface. */
735 : #define NS_DECL_NSIPERFORMANCESTATSSERVICE \
736 : NS_IMETHOD GetIsMonitoringCPOW(JSContext* cx, bool *aIsMonitoringCPOW) override; \
737 : NS_IMETHOD SetIsMonitoringCPOW(JSContext* cx, bool aIsMonitoringCPOW) override; \
738 : NS_IMETHOD GetIsMonitoringJank(JSContext* cx, bool *aIsMonitoringJank) override; \
739 : NS_IMETHOD SetIsMonitoringJank(JSContext* cx, bool aIsMonitoringJank) override; \
740 : NS_IMETHOD GetIsMonitoringPerCompartment(JSContext* cx, bool *aIsMonitoringPerCompartment) override; \
741 : NS_IMETHOD SetIsMonitoringPerCompartment(JSContext* cx, bool aIsMonitoringPerCompartment) override; \
742 : NS_IMETHOD GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *_retval) override; \
743 : NS_IMETHOD GetJankAlertThreshold(uint64_t *aJankAlertThreshold) override; \
744 : NS_IMETHOD SetJankAlertThreshold(uint64_t aJankAlertThreshold) override; \
745 : NS_IMETHOD GetAnimationJankLevelThreshold(int16_t *aAnimationJankLevelThreshold) override; \
746 : NS_IMETHOD SetAnimationJankLevelThreshold(int16_t aAnimationJankLevelThreshold) override; \
747 : NS_IMETHOD GetUserInputDelayThreshold(uint64_t *aUserInputDelayThreshold) override; \
748 : NS_IMETHOD SetUserInputDelayThreshold(uint64_t aUserInputDelayThreshold) override; \
749 : NS_IMETHOD GetJankAlertBufferingDelay(uint32_t *aJankAlertBufferingDelay) override; \
750 : NS_IMETHOD SetJankAlertBufferingDelay(uint32_t aJankAlertBufferingDelay) override; \
751 : NS_IMETHOD GetObservableWindow(uint64_t windowId, nsIPerformanceObservable * *_retval) override;
752 :
753 : /* Use this macro when declaring the members of this interface when the
754 : class doesn't implement the interface. This is useful for forwarding. */
755 : #define NS_DECL_NON_VIRTUAL_NSIPERFORMANCESTATSSERVICE \
756 : nsresult GetIsMonitoringCPOW(JSContext* cx, bool *aIsMonitoringCPOW); \
757 : nsresult SetIsMonitoringCPOW(JSContext* cx, bool aIsMonitoringCPOW); \
758 : nsresult GetIsMonitoringJank(JSContext* cx, bool *aIsMonitoringJank); \
759 : nsresult SetIsMonitoringJank(JSContext* cx, bool aIsMonitoringJank); \
760 : nsresult GetIsMonitoringPerCompartment(JSContext* cx, bool *aIsMonitoringPerCompartment); \
761 : nsresult SetIsMonitoringPerCompartment(JSContext* cx, bool aIsMonitoringPerCompartment); \
762 : nsresult GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *_retval); \
763 : nsresult GetJankAlertThreshold(uint64_t *aJankAlertThreshold); \
764 : nsresult SetJankAlertThreshold(uint64_t aJankAlertThreshold); \
765 : nsresult GetAnimationJankLevelThreshold(int16_t *aAnimationJankLevelThreshold); \
766 : nsresult SetAnimationJankLevelThreshold(int16_t aAnimationJankLevelThreshold); \
767 : nsresult GetUserInputDelayThreshold(uint64_t *aUserInputDelayThreshold); \
768 : nsresult SetUserInputDelayThreshold(uint64_t aUserInputDelayThreshold); \
769 : nsresult GetJankAlertBufferingDelay(uint32_t *aJankAlertBufferingDelay); \
770 : nsresult SetJankAlertBufferingDelay(uint32_t aJankAlertBufferingDelay); \
771 : nsresult GetObservableWindow(uint64_t windowId, nsIPerformanceObservable * *_retval);
772 :
773 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
774 : #define NS_FORWARD_NSIPERFORMANCESTATSSERVICE(_to) \
775 : NS_IMETHOD GetIsMonitoringCPOW(JSContext* cx, bool *aIsMonitoringCPOW) override { return _to GetIsMonitoringCPOW(cx, aIsMonitoringCPOW); } \
776 : NS_IMETHOD SetIsMonitoringCPOW(JSContext* cx, bool aIsMonitoringCPOW) override { return _to SetIsMonitoringCPOW(cx, aIsMonitoringCPOW); } \
777 : NS_IMETHOD GetIsMonitoringJank(JSContext* cx, bool *aIsMonitoringJank) override { return _to GetIsMonitoringJank(cx, aIsMonitoringJank); } \
778 : NS_IMETHOD SetIsMonitoringJank(JSContext* cx, bool aIsMonitoringJank) override { return _to SetIsMonitoringJank(cx, aIsMonitoringJank); } \
779 : NS_IMETHOD GetIsMonitoringPerCompartment(JSContext* cx, bool *aIsMonitoringPerCompartment) override { return _to GetIsMonitoringPerCompartment(cx, aIsMonitoringPerCompartment); } \
780 : NS_IMETHOD SetIsMonitoringPerCompartment(JSContext* cx, bool aIsMonitoringPerCompartment) override { return _to SetIsMonitoringPerCompartment(cx, aIsMonitoringPerCompartment); } \
781 : NS_IMETHOD GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *_retval) override { return _to GetSnapshot(cx, _retval); } \
782 : NS_IMETHOD GetJankAlertThreshold(uint64_t *aJankAlertThreshold) override { return _to GetJankAlertThreshold(aJankAlertThreshold); } \
783 : NS_IMETHOD SetJankAlertThreshold(uint64_t aJankAlertThreshold) override { return _to SetJankAlertThreshold(aJankAlertThreshold); } \
784 : NS_IMETHOD GetAnimationJankLevelThreshold(int16_t *aAnimationJankLevelThreshold) override { return _to GetAnimationJankLevelThreshold(aAnimationJankLevelThreshold); } \
785 : NS_IMETHOD SetAnimationJankLevelThreshold(int16_t aAnimationJankLevelThreshold) override { return _to SetAnimationJankLevelThreshold(aAnimationJankLevelThreshold); } \
786 : NS_IMETHOD GetUserInputDelayThreshold(uint64_t *aUserInputDelayThreshold) override { return _to GetUserInputDelayThreshold(aUserInputDelayThreshold); } \
787 : NS_IMETHOD SetUserInputDelayThreshold(uint64_t aUserInputDelayThreshold) override { return _to SetUserInputDelayThreshold(aUserInputDelayThreshold); } \
788 : NS_IMETHOD GetJankAlertBufferingDelay(uint32_t *aJankAlertBufferingDelay) override { return _to GetJankAlertBufferingDelay(aJankAlertBufferingDelay); } \
789 : NS_IMETHOD SetJankAlertBufferingDelay(uint32_t aJankAlertBufferingDelay) override { return _to SetJankAlertBufferingDelay(aJankAlertBufferingDelay); } \
790 : NS_IMETHOD GetObservableWindow(uint64_t windowId, nsIPerformanceObservable * *_retval) override { return _to GetObservableWindow(windowId, _retval); }
791 :
792 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
793 : #define NS_FORWARD_SAFE_NSIPERFORMANCESTATSSERVICE(_to) \
794 : NS_IMETHOD GetIsMonitoringCPOW(JSContext* cx, bool *aIsMonitoringCPOW) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsMonitoringCPOW(cx, aIsMonitoringCPOW); } \
795 : NS_IMETHOD SetIsMonitoringCPOW(JSContext* cx, bool aIsMonitoringCPOW) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsMonitoringCPOW(cx, aIsMonitoringCPOW); } \
796 : NS_IMETHOD GetIsMonitoringJank(JSContext* cx, bool *aIsMonitoringJank) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsMonitoringJank(cx, aIsMonitoringJank); } \
797 : NS_IMETHOD SetIsMonitoringJank(JSContext* cx, bool aIsMonitoringJank) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsMonitoringJank(cx, aIsMonitoringJank); } \
798 : NS_IMETHOD GetIsMonitoringPerCompartment(JSContext* cx, bool *aIsMonitoringPerCompartment) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsMonitoringPerCompartment(cx, aIsMonitoringPerCompartment); } \
799 : NS_IMETHOD SetIsMonitoringPerCompartment(JSContext* cx, bool aIsMonitoringPerCompartment) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsMonitoringPerCompartment(cx, aIsMonitoringPerCompartment); } \
800 : NS_IMETHOD GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSnapshot(cx, _retval); } \
801 : NS_IMETHOD GetJankAlertThreshold(uint64_t *aJankAlertThreshold) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJankAlertThreshold(aJankAlertThreshold); } \
802 : NS_IMETHOD SetJankAlertThreshold(uint64_t aJankAlertThreshold) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetJankAlertThreshold(aJankAlertThreshold); } \
803 : NS_IMETHOD GetAnimationJankLevelThreshold(int16_t *aAnimationJankLevelThreshold) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAnimationJankLevelThreshold(aAnimationJankLevelThreshold); } \
804 : NS_IMETHOD SetAnimationJankLevelThreshold(int16_t aAnimationJankLevelThreshold) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAnimationJankLevelThreshold(aAnimationJankLevelThreshold); } \
805 : NS_IMETHOD GetUserInputDelayThreshold(uint64_t *aUserInputDelayThreshold) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUserInputDelayThreshold(aUserInputDelayThreshold); } \
806 : NS_IMETHOD SetUserInputDelayThreshold(uint64_t aUserInputDelayThreshold) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUserInputDelayThreshold(aUserInputDelayThreshold); } \
807 : NS_IMETHOD GetJankAlertBufferingDelay(uint32_t *aJankAlertBufferingDelay) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetJankAlertBufferingDelay(aJankAlertBufferingDelay); } \
808 : NS_IMETHOD SetJankAlertBufferingDelay(uint32_t aJankAlertBufferingDelay) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetJankAlertBufferingDelay(aJankAlertBufferingDelay); } \
809 : NS_IMETHOD GetObservableWindow(uint64_t windowId, nsIPerformanceObservable * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetObservableWindow(windowId, _retval); }
810 :
811 : #if 0
812 : /* Use the code below as a template for the implementation class for this interface. */
813 :
814 : /* Header file */
815 : class nsPerformanceStatsService : public nsIPerformanceStatsService
816 : {
817 : public:
818 : NS_DECL_ISUPPORTS
819 : NS_DECL_NSIPERFORMANCESTATSSERVICE
820 :
821 : nsPerformanceStatsService();
822 :
823 : private:
824 : ~nsPerformanceStatsService();
825 :
826 : protected:
827 : /* additional members */
828 : };
829 :
830 : /* Implementation file */
831 : NS_IMPL_ISUPPORTS(nsPerformanceStatsService, nsIPerformanceStatsService)
832 :
833 : nsPerformanceStatsService::nsPerformanceStatsService()
834 : {
835 : /* member initializers and constructor code */
836 : }
837 :
838 : nsPerformanceStatsService::~nsPerformanceStatsService()
839 : {
840 : /* destructor code */
841 : }
842 :
843 : /* [implicit_jscontext] attribute bool isMonitoringCPOW; */
844 : NS_IMETHODIMP nsPerformanceStatsService::GetIsMonitoringCPOW(JSContext* cx, bool *aIsMonitoringCPOW)
845 : {
846 : return NS_ERROR_NOT_IMPLEMENTED;
847 : }
848 : NS_IMETHODIMP nsPerformanceStatsService::SetIsMonitoringCPOW(JSContext* cx, bool aIsMonitoringCPOW)
849 : {
850 : return NS_ERROR_NOT_IMPLEMENTED;
851 : }
852 :
853 : /* [implicit_jscontext] attribute bool isMonitoringJank; */
854 : NS_IMETHODIMP nsPerformanceStatsService::GetIsMonitoringJank(JSContext* cx, bool *aIsMonitoringJank)
855 : {
856 : return NS_ERROR_NOT_IMPLEMENTED;
857 : }
858 : NS_IMETHODIMP nsPerformanceStatsService::SetIsMonitoringJank(JSContext* cx, bool aIsMonitoringJank)
859 : {
860 : return NS_ERROR_NOT_IMPLEMENTED;
861 : }
862 :
863 : /* [implicit_jscontext] attribute bool isMonitoringPerCompartment; */
864 : NS_IMETHODIMP nsPerformanceStatsService::GetIsMonitoringPerCompartment(JSContext* cx, bool *aIsMonitoringPerCompartment)
865 : {
866 : return NS_ERROR_NOT_IMPLEMENTED;
867 : }
868 : NS_IMETHODIMP nsPerformanceStatsService::SetIsMonitoringPerCompartment(JSContext* cx, bool aIsMonitoringPerCompartment)
869 : {
870 : return NS_ERROR_NOT_IMPLEMENTED;
871 : }
872 :
873 : /* [implicit_jscontext] nsIPerformanceSnapshot getSnapshot (); */
874 : NS_IMETHODIMP nsPerformanceStatsService::GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *_retval)
875 : {
876 : return NS_ERROR_NOT_IMPLEMENTED;
877 : }
878 :
879 : /* attribute unsigned long long jankAlertThreshold; */
880 : NS_IMETHODIMP nsPerformanceStatsService::GetJankAlertThreshold(uint64_t *aJankAlertThreshold)
881 : {
882 : return NS_ERROR_NOT_IMPLEMENTED;
883 : }
884 : NS_IMETHODIMP nsPerformanceStatsService::SetJankAlertThreshold(uint64_t aJankAlertThreshold)
885 : {
886 : return NS_ERROR_NOT_IMPLEMENTED;
887 : }
888 :
889 : /* attribute short animationJankLevelThreshold; */
890 : NS_IMETHODIMP nsPerformanceStatsService::GetAnimationJankLevelThreshold(int16_t *aAnimationJankLevelThreshold)
891 : {
892 : return NS_ERROR_NOT_IMPLEMENTED;
893 : }
894 : NS_IMETHODIMP nsPerformanceStatsService::SetAnimationJankLevelThreshold(int16_t aAnimationJankLevelThreshold)
895 : {
896 : return NS_ERROR_NOT_IMPLEMENTED;
897 : }
898 :
899 : /* attribute unsigned long long userInputDelayThreshold; */
900 : NS_IMETHODIMP nsPerformanceStatsService::GetUserInputDelayThreshold(uint64_t *aUserInputDelayThreshold)
901 : {
902 : return NS_ERROR_NOT_IMPLEMENTED;
903 : }
904 : NS_IMETHODIMP nsPerformanceStatsService::SetUserInputDelayThreshold(uint64_t aUserInputDelayThreshold)
905 : {
906 : return NS_ERROR_NOT_IMPLEMENTED;
907 : }
908 :
909 : /* attribute unsigned long jankAlertBufferingDelay; */
910 : NS_IMETHODIMP nsPerformanceStatsService::GetJankAlertBufferingDelay(uint32_t *aJankAlertBufferingDelay)
911 : {
912 : return NS_ERROR_NOT_IMPLEMENTED;
913 : }
914 : NS_IMETHODIMP nsPerformanceStatsService::SetJankAlertBufferingDelay(uint32_t aJankAlertBufferingDelay)
915 : {
916 : return NS_ERROR_NOT_IMPLEMENTED;
917 : }
918 :
919 : /* nsIPerformanceObservable getObservableWindow (in unsigned long long windowId); */
920 : NS_IMETHODIMP nsPerformanceStatsService::GetObservableWindow(uint64_t windowId, nsIPerformanceObservable * *_retval)
921 : {
922 : return NS_ERROR_NOT_IMPLEMENTED;
923 : }
924 :
925 : /* End of implementation class template. */
926 : #endif
927 :
928 : #define NS_TOOLKIT_PERFORMANCESTATSSERVICE_CID {0xfd7435d4, 0x9ec4, 0x4699, \
929 : {0xad, 0xd4, 0x1b, 0xe8, 0x3d, 0xd6, 0x8e, 0xf3} }
930 : #define NS_TOOLKIT_PERFORMANCESTATSSERVICE_CONTRACTID "@mozilla.org/toolkit/performance-stats-service;1"
931 :
932 : #endif /* __gen_nsIPerformanceStats_h__ */
|