Support syntax highlighting of arguments in the devtools console (#34810)

* Implement Builder struct for console messages

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Support integer arguments for console methods

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Support floating point arguments to console methods in devtools

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fix warnings

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Tidy

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
Simon Wülker 2025-01-02 19:47:52 +01:00 committed by GitHub
parent 7c023ee02a
commit b252f238d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 242 additions and 95 deletions

View file

@ -22,8 +22,8 @@ use std::thread;
use base::id::{BrowsingContextId, PipelineId};
use crossbeam_channel::{unbounded, Receiver, Sender};
use devtools_traits::{
ChromeToDevtoolsControlMsg, ConsoleMessage, DevtoolScriptControlMsg, DevtoolsControlMsg,
DevtoolsPageInfo, LogLevel, NavigationState, NetworkEvent, PageError,
ChromeToDevtoolsControlMsg, ConsoleMessage, ConsoleMessageBuilder, DevtoolScriptControlMsg,
DevtoolsControlMsg, DevtoolsPageInfo, LogLevel, NavigationState, NetworkEvent, PageError,
ScriptToDevtoolsControlMsg, WorkerId,
};
use embedder_traits::{EmbedderMsg, EmbedderProxy, PromptDefinition, PromptOrigin, PromptResult};
@ -688,19 +688,19 @@ fn run_server(
id,
css_error,
)) => {
let console_message = ConsoleMessage {
message: css_error.msg,
log_level: LogLevel::Warn,
filename: css_error.filename,
line_number: css_error.line as usize,
column_number: css_error.column as usize,
stacktrace: vec![],
};
let mut console_message = ConsoleMessageBuilder::new(
LogLevel::Warn,
css_error.filename,
css_error.line,
css_error.column,
);
console_message.add_argument(css_error.msg.into());
handle_console_message(
actors.clone(),
id,
None,
console_message,
console_message.finish(),
&browsing_contexts,
&actor_workers,
&pipelines,