1macro_rules! trace_msg_from_embedder {
13 ($event:expr, $($rest:tt)+) => {
16 ::log::trace!(target: $crate::tracing::LogTarget::log_target(&$event), $($rest)+)
17 };
18}
19
20macro_rules! trace_script_msg {
26 ($event:expr, $($rest:tt)+) => {
29 ::log::trace!(target: $crate::tracing::LogTarget::log_target(&$event), $($rest)+)
30 };
31}
32
33pub(crate) trait LogTarget {
35 fn log_target(&self) -> &'static str;
36}
37
38mod from_embedder {
39 use embedder_traits::{InputEvent, InputEventAndId};
40
41 use super::LogTarget;
42
43 macro_rules! target {
44 ($($name:literal)+) => {
45 concat!("constellation<embedder@", $($name),+)
46 };
47 }
48
49 impl LogTarget for servo_constellation_traits::EmbedderToConstellationMessage {
50 fn log_target(&self) -> &'static str {
51 match self {
52 Self::Exit => target!("Exit"),
53 Self::AllowNavigationResponse(..) => target!("AllowNavigationResponse"),
54 Self::LoadUrl(..) => target!("LoadUrl"),
55 Self::TraverseHistory(..) => target!("TraverseHistory"),
56 Self::ChangeViewportDetails(..) => target!("ChangeViewportDetails"),
57 Self::ThemeChange(..) => target!("ThemeChange"),
58 Self::TickAnimation(..) => target!("TickAnimation"),
59 Self::WebDriverCommand(..) => target!("WebDriverCommand"),
60 Self::Reload(..) => target!("Reload"),
61 Self::LogEntry(..) => target!("LogEntry"),
62 Self::NewWebView(..) => target!("NewWebView"),
63 Self::CloseWebView(..) => target!("CloseWebView"),
64 Self::SetWebViewHasSystemFocus(..) => target!("SetWebViewHasSystemFocus"),
65 Self::ForwardInputEvent(_webview_id, event, ..) => event.log_target(),
66 Self::RefreshCursor(..) => target!("RefreshCursor"),
67 Self::ExitFullScreen(_) => target!("ExitFullScreen"),
68 Self::MediaSessionAction(_) => target!("MediaSessionAction"),
69 Self::SetWebViewHidden(_, _) => target!("SetWebViewHidden"),
70 Self::SetScrollStates(..) => target!("SetScrollStates"),
71 Self::PaintMetric(..) => target!("PaintMetric"),
72 Self::EvaluateJavaScript(..) => target!("EvaluateJavaScript"),
73 Self::CreateMemoryReport(..) => target!("CreateMemoryReport"),
74 Self::SendImageKeysForPipeline(..) => target!("SendImageKeysForPipeline"),
75 Self::PreferencesUpdated(..) => target!("PreferencesUpdated"),
76 Self::NoLongerWaitingOnAsynchronousImageUpdates(..) => {
77 target!("NoLongerWaitingOnCanvas")
78 },
79 Self::RequestScreenshotReadiness(..) => target!("RequestScreenshotReadiness"),
80 Self::EmbedderControlResponse(..) => target!("EmbedderControlResponse"),
81 Self::UserContentManagerAction(..) => target!("UserContentManagerAction"),
82 Self::UpdatePinchZoomInfos(..) => target!("UpdatePinchZoomInfos"),
83 Self::SetAccessibilityActive(..) => target!("SetAccessibilityActive"),
84 Self::ForwardAccessibilityAction(..) => target!("ForwardAccessibilityAction"),
85 Self::ClearSessionHistory(..) => target!("ClearHistory"),
86 Self::SetNetworkOnlineState(..) => target!("SetNetworkOnlineState"),
87 }
88 }
89 }
90
91 impl LogTarget for InputEventAndId {
92 fn log_target(&self) -> &'static str {
93 macro_rules! target_variant {
94 ($name:literal) => {
95 target!("ForwardInputEvent(" $name ")")
96 };
97 }
98 match self.event {
99 InputEvent::EditingAction(..) => target_variant!("EditingAction"),
100 #[cfg(feature = "gamepad")]
101 InputEvent::Gamepad(..) => target_variant!("Gamepad"),
102 InputEvent::Ime(..) => target_variant!("Ime"),
103 InputEvent::Keyboard(..) => target_variant!("Keyboard"),
104 InputEvent::MouseButton(..) => target_variant!("MouseButton"),
105 InputEvent::MouseMove(..) => target_variant!("MouseMove"),
106 InputEvent::MouseLeftViewport(..) => target_variant!("MouseLeftViewport"),
107 InputEvent::Touch(..) => target_variant!("Touch"),
108 InputEvent::Wheel(..) => target_variant!("Wheel"),
109 }
110 }
111 }
112}
113
114mod from_script {
115 use super::LogTarget;
116
117 macro_rules! target {
118 ($($name:literal)+) => {
119 concat!("constellation<script@", $($name),+)
120 };
121 }
122
123 impl LogTarget for servo_constellation_traits::ScriptToConstellationMessage {
124 fn log_target(&self) -> &'static str {
125 match self {
126 Self::ServiceWorkerAlgorithm(..) => target!("ServiceWorkerAlgorithm"),
127 Self::CompleteMessagePortTransfer(..) => target!("CompleteMessagePortTransfer"),
128 Self::MessagePortTransferResult(..) => target!("MessagePortTransferResult"),
129 Self::NewMessagePort(..) => target!("NewMessagePort"),
130 Self::NewMessagePortRouter(..) => target!("NewMessagePortRouter"),
131 Self::RemoveMessagePortRouter(..) => target!("RemoveMessagePortRouter"),
132 Self::RerouteMessagePort(..) => target!("RerouteMessagePort"),
133 Self::MessagePortShipped(..) => target!("MessagePortShipped"),
134 Self::EntanglePorts(..) => target!("EntanglePorts"),
135 Self::DisentanglePorts(..) => target!("DisentanglePorts"),
136 Self::NewBroadcastChannelRouter(..) => target!("NewBroadcastChannelRouter"),
137 Self::RemoveBroadcastChannelRouter(..) => target!("RemoveBroadcastChannelRouter"),
138 Self::NewBroadcastChannelNameInRouter(..) => {
139 target!("NewBroadcastChannelNameInRouter")
140 },
141 Self::RemoveBroadcastChannelNameInRouter(..) => {
142 target!("RemoveBroadcastChannelNameInRouter")
143 },
144 Self::ScheduleBroadcast(..) => target!("ScheduleBroadcast"),
145 Self::RegisterInterest(..) => target!("RegisterInterest"),
146 Self::UnregisterInterest(..) => target!("UnregisterInterest"),
147 Self::BroadcastStorageEvent(..) => target!("BroadcastStorageEvent"),
148 Self::ChangeRunningAnimationsState(..) => target!("ChangeRunningAnimationsState"),
149 Self::RegisterWorkerAnimationFrameProvider(..) => {
150 target!("RegisterWorkerAnimationFrameProvider")
151 },
152 Self::UnregisterWorkerAnimationFrameProvider(..) => {
153 target!("UnregisterWorkerAnimationFrameProvider")
154 },
155 Self::ChangeWorkerAnimationFrameProviderState(..) => {
156 target!("ChangeWorkerAnimationFrameProviderState")
157 },
158 Self::CreateCanvasPaintThread(..) => target!("CreateCanvasPaintThread"),
159 Self::FocusAncestorBrowsingContextsForFocusingSteps(..) => {
160 target!("FocusAncestorBrowsingContextsForFocusingSteps")
161 },
162 Self::FocusRemoteBrowsingContext(..) => target!("FocusRemoteBrowsingContext"),
163 Self::GetTopForBrowsingContext(..) => target!("GetTopForBrowsingContext"),
164 Self::GetBrowsingContextInfo(..) => target!("GetBrowsingContextInfo"),
165 Self::GetDocumentOrigin(..) => target!("GetDocumentOrigin"),
166 Self::IsCurrentlyFullyActive(..) => target!("IsCurrentlyFullyActive"),
167 Self::GetDocumentOriginDetails(..) => {
168 target!("GetDocumentOriginDetails")
169 },
170 Self::GetChildBrowsingContextCount(..) => target!("GetChildBrowsingContextCount"),
171 Self::GetChildBrowsingContextId(..) => target!("GetChildBrowsingContextId"),
172 Self::LoadFinished { .. } => target!("LoadFinished"),
173 Self::LoadUrl(..) => target!("LoadUrl"),
174 Self::AbortLoadUrl => target!("AbortLoadUrl"),
175 Self::PostMessage { .. } => target!("PostMessage"),
176 Self::NavigatedToFragment(..) => target!("NavigatedToFragment"),
177 Self::TraverseHistory(..) => target!("TraverseHistory"),
178 Self::PushHistoryState(..) => target!("PushHistoryState"),
179 Self::ReplaceHistoryState(..) => target!("ReplaceHistoryState"),
180 Self::JointSessionHistoryLength(..) => target!("JointSessionHistoryLength"),
181 Self::RemoveIFrame(..) => target!("RemoveIFrame"),
182 Self::ScriptLoadedURLInIFrame(..) => target!("ScriptLoadedURLInIFrame"),
183 Self::ScriptNewIFrame(..) => target!("ScriptNewIFrame"),
184 Self::CreateAuxiliaryWebView(..) => target!("ScriptNewAuxiliary"),
185 Self::ActivateDocument => target!("ActivateDocument"),
186 Self::SetFinalUrl(..) => target!("SetFinalUrl"),
187 Self::LogEntry(..) => target!("LogEntry"),
188 Self::DiscardDocument => target!("DiscardDocument"),
189 Self::DiscardTopLevelBrowsingContext => target!("DiscardTopLevelBrowsingContext"),
190 Self::PipelineExited => target!("PipelineExited"),
191 Self::ForwardDOMMessage(..) => target!("ForwardDOMMessage"),
192 Self::MediaSessionEvent(..) => target!("MediaSessionEvent"),
193 #[cfg(feature = "webgpu")]
194 Self::RequestAdapter(..) => target!("RequestAdapter"),
195 #[cfg(feature = "webgpu")]
196 Self::GetWebGPUChan(..) => target!("GetWebGPUChan"),
197 Self::TitleChanged(..) => target!("TitleChanged"),
198 Self::IFrameSizes(..) => target!("IFrameSizes"),
199 Self::ReportMemory(..) => target!("ReportMemory"),
200 Self::FinishJavaScriptEvaluation(..) => target!("FinishJavaScriptEvaluation"),
201 Self::ForwardKeyboardScroll(..) => target!("ForwardKeyboardScroll"),
202 Self::RespondToScreenshotReadinessRequest(..) => {
203 target!("RespondToScreenshotReadinessRequest")
204 },
205 Self::TriggerGarbageCollection => target!("TriggerGarbageCollection"),
206 Self::AcquireWakeLock(..) => target!("AcquireWakeLock"),
207 Self::ReleaseWakeLock(..) => target!("ReleaseWakeLock"),
208 }
209 }
210 }
211}