summaryrefslogtreecommitdiffstats
path: root/dom/chrome-webidl/DebuggerNotification.webidl
blob: d549eb7ae9ae51cfcdd46d79cb9f99f25eed7c93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

enum DebuggerNotificationType {
  // DebuggerNotification
  "setTimeout",
  "clearTimeout",
  "setInterval",
  "clearInterval",
  "requestAnimationFrame",
  "cancelAnimationFrame",

  // CallbackDebuggerNotification
  "setTimeoutCallback",
  "setIntervalCallback",
  "requestAnimationFrameCallback",

  // EventCallbackDebuggerNotification
  "domEvent",
};

[ChromeOnly, Exposed=Window]
interface DebuggerNotification {
  readonly attribute DebuggerNotificationType type;

  // The global object that has triggered the notification.
  readonly attribute object global;
};

// For DOM events, we send notifications just before, and just after the
// event handler has been dispatched so that listeners
enum CallbackDebuggerNotificationPhase {
  "pre",
  "post",
};

// A base notification type for notifications that are dispatched as pairs with
// a before and after notification.
[ChromeOnly, Exposed=Window]
interface CallbackDebuggerNotification : DebuggerNotification {
  readonly attribute CallbackDebuggerNotificationPhase phase;
};

enum EventCallbackDebuggerNotificationType {
  "global",
  "node",
  "xhr",
  "worker",
  "websocket",
};

// A notification that about the engine calling a DOM event handler.
[ChromeOnly, Exposed=Window]
interface EventCallbackDebuggerNotification : CallbackDebuggerNotification {
  readonly attribute Event event;
  readonly attribute EventCallbackDebuggerNotificationType targetType;
};