File: logging_scope.h

package info (click to toggle)
chromium 138.0.7204.183-1~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 6,080,960 kB
  • sloc: cpp: 34,937,079; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,954; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,811; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (63 lines) | stat: -rw-r--r-- 3,273 bytes parent folder | download | duplicates (5)
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
59
60
61
62
63
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_INTERNALS_LOGGING_SCOPE_H_
#define COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_INTERNALS_LOGGING_SCOPE_H_

namespace autofill {

class LogBuffer;

/////////////// Logging Scopes /////////////

// Generator for source code related to logging scopes. Pass a template T which
// takes a single parameter, the name of the scope the log messages are related
// to.
#define AUTOFILL_LOGGING_SCOPE_TEMPLATES(T)                            \
  /* Information about the sync status, existence of profiles, etc. */ \
  T(Context)                                                           \
  /* Discovery and parsing of forms. */                                \
  T(Parsing)                                                           \
  /* Rationalization-induced changes to parsing. */                    \
  T(Rationalization)                                                   \
  /* Reasons to stop parsing a form. */                                \
  T(AbortParsing)                                                      \
  /* Filling of forms. */                                              \
  T(Filling)                                                           \
  /* Submission of forms. */                                           \
  T(Submission)                                                        \
  /* Communication with autofill server. */                            \
  T(AutofillServer)                                                    \
  /* Metrics collection. */                                            \
  T(Metrics)                                                           \
  /* Import of address profiles from form submissions. */              \
  T(AddressProfileFormImport)                                          \
  /* If credit card upload is either enabled or disabled. */           \
  T(CreditCardUploadStatus)                                            \
  /* Whether or not card upload was offered to the user. */            \
  T(CardUploadDecision)                                                \
  /* The website modified a field */                                   \
  T(WebsiteModifiedFieldValue)                                         \
  /* Chrome Fast Checkout run. */                                      \
  T(FastCheckout)                                                      \
  /* Touch To Fill UI. */                                              \
  T(TouchToFill)                                                       \
  /* Autofill with AI. */                                              \
  T(AutofillAi)

// Define a bunch of logging scopes: kContext, kParsing, ...
#define AUTOFILL_TEMPLATE(NAME) k##NAME,
enum class LoggingScope {
  AUTOFILL_LOGGING_SCOPE_TEMPLATES(AUTOFILL_TEMPLATE) kLastScope
};
#undef AUTOFILL_TEMPLATE

// Returns the enum value of |scope| as a string (without the leading k).
const char* LoggingScopeToString(LoggingScope scope);

LogBuffer& operator<<(LogBuffer& buf, LoggingScope scope);

}  // namespace autofill

#endif  // COMPONENTS_AUTOFILL_CORE_COMMON_AUTOFILL_INTERNALS_LOGGING_SCOPE_H_