docs
Loading...
Searching...
No Matches
ConsoleMessage.h
Go to the documentation of this file.
1///
2/// Copyright (C) 2026 Ultralight, Inc. All rights reserved.
3/// A license is required for commercial use. https://ultralig.ht
4///
5#pragma once
7#include <Ultralight/String.h>
9
10namespace ultralight {
11
12///
13/// MessageSource types
14///
35
36///
37/// The type of console message (corresponds to the console API method that triggered it).
38///
55
56///
57/// MessageLevel types
58///
66
67///
68/// @brief Interface for console messages.
69///
71 public:
72 virtual ~ConsoleMessage() = default;
73
74 ///
75 /// The source of the message.
76 ///
77 virtual MessageSource source() const = 0;
78
79 ///
80 /// The type of content displayed.
81 ///
82 virtual MessageType type() const = 0;
83
84 ///
85 /// The log level for the message.
86 ///
87 virtual MessageLevel level() const = 0;
88
89 ///
90 /// The message as a string-- for multi-argument calls to console.log() this just converts the
91 /// first parameter to a string.
92 ///
93 virtual String message() const = 0;
94
95 ///
96 /// The line number of the JavaScript associated with this call, if any.
97 ///
98 virtual uint32_t line_number() const = 0;
99
100 ///
101 /// The column number of the JavaScript associated with this call, if any.
102 ///
103 virtual uint32_t column_number() const = 0;
104
105 ///
106 /// The source id (eg, URL) of the page associated with this call, if any.
107 ///
108 virtual String source_id() const = 0;
109
110 ///
111 /// The JavaScript execution context for the arguments, if any.
112 ///
113 virtual JSContextRef argument_context() const = 0;
114
115 ///
116 /// The number of JavaScript arguments passed to console.log(), if any.
117 ///
118 virtual uint32_t num_arguments() const = 0;
119
120 ///
121 /// Get the JavaScript argument at a specific index (numbering starts at 0).
122 ///
123 virtual JSValueRef argument_at(uint32_t idx) const = 0;
124};
125
126} // namespace ultralight
#define UExport
Definition Exports.h:22
const struct OpaqueJSValue * JSValueRef
Definition JSBase.h:66
const struct OpaqueJSContext * JSContextRef
Definition JSBase.h:43
Interface for console messages.
Definition ConsoleMessage.h:70
virtual MessageType type() const =0
The type of content displayed.
virtual String message() const =0
The message as a string– for multi-argument calls to console.log() this just converts the first param...
virtual uint32_t column_number() const =0
The column number of the JavaScript associated with this call, if any.
virtual MessageLevel level() const =0
The log level for the message.
virtual uint32_t line_number() const =0
The line number of the JavaScript associated with this call, if any.
virtual ~ConsoleMessage()=default
virtual MessageSource source() const =0
The source of the message.
virtual JSContextRef argument_context() const =0
The JavaScript execution context for the arguments, if any.
virtual JSValueRef argument_at(uint32_t idx) const =0
Get the JavaScript argument at a specific index (numbering starts at 0).
virtual String source_id() const =0
The source id (eg, URL) of the page associated with this call, if any.
virtual uint32_t num_arguments() const =0
The number of JavaScript arguments passed to console.log(), if any.
Unicode string container with conversions for UTF-8, UTF-16, and UTF-32.
Definition String.h:31
Root namespace for every public Ultralight type, function, and enumeration.
MessageSource
MessageSource types.
Definition ConsoleMessage.h:15
@ kMessageSource_CSS
Definition ConsoleMessage.h:23
@ kMessageSource_JS
Definition ConsoleMessage.h:17
@ kMessageSource_Network
Definition ConsoleMessage.h:18
@ kMessageSource_Media
Definition ConsoleMessage.h:26
@ kMessageSource_PaymentRequest
Definition ConsoleMessage.h:31
@ kMessageSource_AppCache
Definition ConsoleMessage.h:21
@ kMessageSource_WebRTC
Definition ConsoleMessage.h:28
@ kMessageSource_ContentBlocker
Definition ConsoleMessage.h:25
@ kMessageSource_NativeAPI
Diagnostics from the JavaScript, DOM, and Data Bindings APIs.
Definition ConsoleMessage.h:33
@ kMessageSource_MediaSource
Definition ConsoleMessage.h:27
@ kMessageSource_ITPDebug
Definition ConsoleMessage.h:29
@ kMessageSource_XML
Definition ConsoleMessage.h:16
@ kMessageSource_Rendering
Definition ConsoleMessage.h:22
@ kMessageSource_Security
Definition ConsoleMessage.h:24
@ kMessageSource_Storage
Definition ConsoleMessage.h:20
@ kMessageSource_ConsoleAPI
Definition ConsoleMessage.h:19
@ kMessageSource_Other
Definition ConsoleMessage.h:32
@ kMessageSource_PrivateClickMeasurement
Definition ConsoleMessage.h:30
MessageLevel
MessageLevel types.
Definition ConsoleMessage.h:59
@ kMessageLevel_Debug
Definition ConsoleMessage.h:63
@ kMessageLevel_Warning
Definition ConsoleMessage.h:61
@ kMessageLevel_Info
Definition ConsoleMessage.h:64
@ kMessageLevel_Error
Definition ConsoleMessage.h:62
@ kMessageLevel_Log
Definition ConsoleMessage.h:60
MessageType
The type of console message (corresponds to the console API method that triggered it).
Definition ConsoleMessage.h:39
@ kMessageType_Assert
Definition ConsoleMessage.h:49
@ kMessageType_Log
Definition ConsoleMessage.h:40
@ kMessageType_ProfileEnd
Definition ConsoleMessage.h:52
@ kMessageType_Table
Definition ConsoleMessage.h:43
@ kMessageType_Timing
Definition ConsoleMessage.h:50
@ kMessageType_Trace
Definition ConsoleMessage.h:44
@ kMessageType_Dir
Definition ConsoleMessage.h:41
@ kMessageType_Clear
Definition ConsoleMessage.h:48
@ kMessageType_DirXML
Definition ConsoleMessage.h:42
@ kMessageType_StartGroupCollapsed
Definition ConsoleMessage.h:46
@ kMessageType_EndGroup
Definition ConsoleMessage.h:47
@ kMessageType_StartGroup
Definition ConsoleMessage.h:45
@ kMessageType_Image
Definition ConsoleMessage.h:53
@ kMessageType_Profile
Definition ConsoleMessage.h:51