1// Copyright 2020 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5module blink.mojom;
6
7// Types of user activation notification triggers.  Used for histograms only.
8enum UserActivationNotificationType {
9
10  // This is used only as (temporary) default value parameters in activation
11  // notification related functions in intermediate CLs.  This value would go
12  // away when the plumbing is complete.
13  kNone,
14
15  // A trusted user interaction caused the notification call.
16  kInteraction,
17
18  // A Devtools interaction caused the notification call.
19  kDevTools,
20
21  // An extension API event caused the notification call.
22  kExtensionEvent,
23
24  // An extension API caused the notification call through GuestView.
25  kExtensionGuestView,
26
27  // An extension messaging API caused the notification call.  Deprecated,
28  // preserved only for UMA consistency.  See more specific enums below.
29  kExtensionMessaging,
30
31  // A media API caused the notification call.
32  kMedia,
33
34  // An NFS API caused the notification call.
35  kNativeFileSystem,
36
37  // A plugin API caused the notification call.  Deprecated, preserved only for
38  // UMA consistency.
39  kPlugin,
40
41  // A test API caused the notification call.  This should not affect
42  // any histgrams in production but in the past we have seen (and
43  // sometimes fixed) some test APIs being accidentally used in
44  // production.  We want to verify that there is no such callers
45  // left in our code.
46  kTest,
47
48  // A WebScriptExecutor instance caused the notification call.
49  kWebScriptExec,
50
51  // Android voice search API caused the notification call.
52  kVoiceSearch,
53
54  // An extension messaging API caused the notification call, where the script
55  // contexts of both the sender and the receiver of the message are privileged.
56  kExtensionMessagingBothPrivileged,
57
58  // An extension messaging API caused the notification call, where the script
59  // context of only the sender (and not the receiver) of the message is
60  // privileged.
61  kExtensionMessagingSenderPrivileged,
62
63  // An extension messaging API caused the notification call, where the script
64  // context of only the receiver (and not the sender) of the message is
65  // privileged.
66  kExtensionMessagingReceiverPrivileged,
67
68  // An extension messaging API caused the notification call, where the script
69  // context of neither the sender nor the receiver of the message is
70  // privileged.
71  kExtensionMessagingNeitherPrivileged
72};
73