From 429847e98af6bc84d1ed0219e91c6ae69eaa6ccf Mon Sep 17 00:00:00 2001 From: ldm0 Date: Thu, 1 Oct 2026 04:55:41 +0800 Subject: [PATCH] refactor(renderer): use one document serialization command --- moli-core/src/page/renderer_command_support.rs | 10 +++++----- moli-renderer-v8/src/devtools/command/nested.rs | 1 - moli-renderer-v8/src/runtime/page_commands.rs | 3 --- moli-renderer-v8/src/runtime/page_surface.rs | 3 --- moli-renderer-v8/src/runtime/tests.rs | 6 +++--- 5 files changed, 8 insertions(+), 15 deletions(-) diff --git a/moli-core/src/page/renderer_command_support.rs b/moli-core/src/page/renderer_command_support.rs index 6dd8b99274..7162b76f3d 100644 --- a/moli-core/src/page/renderer_command_support.rs +++ b/moli-core/src/page/renderer_command_support.rs @@ -1449,7 +1449,7 @@ impl Page { } pub fn start_serialize_html(&self) -> Result { - self.start_page_command(RendererPageCommand::SerializeHtml) + self.start_page_command(RendererPageCommand::SerializeDocument) } /// Publishes current layout for subsequent geometry reads without painting. @@ -1562,8 +1562,8 @@ impl Page { expect_page_reply!( reply, "serialize HTML page command", - "a string reply", - RendererPageReply::OptionalString(Some(html)) => Ok(html), + "a serialized document reply", + RendererPageReply::SerializedDocument { html, .. } => Ok(html), ) } @@ -1576,8 +1576,8 @@ impl Page { expect_page_reply!( reply, "serialize HTML page command", - "a string reply", - RendererPageReply::OptionalString(Some(html)) => Ok(html), + "a serialized document reply", + RendererPageReply::SerializedDocument { html, .. } => Ok(html), ) } diff --git a/moli-renderer-v8/src/devtools/command/nested.rs b/moli-renderer-v8/src/devtools/command/nested.rs index 3e2464266d..f37943dee4 100644 --- a/moli-renderer-v8/src/devtools/command/nested.rs +++ b/moli-renderer-v8/src/devtools/command/nested.rs @@ -75,7 +75,6 @@ impl RendererPageCommand { | Self::ResetCssAgentSession { .. } | Self::OuterHtmlForDocument { .. } | Self::OuterHtmlForBackendNodeId { .. } - | Self::SerializeHtml | Self::SerializeDocument | Self::LayoutMetrics | Self::PublishLayout diff --git a/moli-renderer-v8/src/runtime/page_commands.rs b/moli-renderer-v8/src/runtime/page_commands.rs index 1ac198518e..75f758ef48 100644 --- a/moli-renderer-v8/src/runtime/page_commands.rs +++ b/moli-renderer-v8/src/runtime/page_commands.rs @@ -853,9 +853,6 @@ impl PageVm { RendererPageCommand::RenderPageDump { options } => Ok(RendererPageReply::OptionalString( Some(self.render_page_dump(options)), )), - RendererPageCommand::SerializeHtml => { - Ok(RendererPageReply::OptionalString(Some(self.serialize_html()))) - } RendererPageCommand::SerializeDocument => { // Capture both from the live document in this handler turn. // Browser admission metadata may precede a queued history update. diff --git a/moli-renderer-v8/src/runtime/page_surface.rs b/moli-renderer-v8/src/runtime/page_surface.rs index 70ec919be0..21e0450700 100644 --- a/moli-renderer-v8/src/runtime/page_surface.rs +++ b/moli-renderer-v8/src/runtime/page_surface.rs @@ -921,7 +921,6 @@ impl RendererRuntimeCommandOutput { self.v8_state_update = Some(state); } - #[doc(hidden)] #[doc(hidden)] pub fn bind_renderer_agent_attachment(&mut self, id: RendererAgentAttachmentId) { match self.renderer_agent_attachment_id { @@ -5008,7 +5007,6 @@ pub enum RendererPageCommand { RenderPageDump { options: RendererPageDumpOptions, }, - SerializeHtml, SerializeDocument, LayoutMetrics, PublishLayout, @@ -5623,7 +5621,6 @@ impl RendererPageCommand { Self::OuterHtmlForDocument { .. } => Some("OuterHtmlForDocument"), Self::OuterHtmlForBackendNodeId { .. } => Some("OuterHtmlForBackendNodeId"), Self::RenderPageDump { .. } => Some("RenderPageDump"), - Self::SerializeHtml => Some("SerializeHtml"), Self::SerializeDocument => Some("SerializeDocument"), Self::LayoutMetrics => Some("LayoutMetrics"), Self::PublishLayout => Some("PublishLayout"), diff --git a/moli-renderer-v8/src/runtime/tests.rs b/moli-renderer-v8/src/runtime/tests.rs index 33fd865a83..3a32ec6b96 100644 --- a/moli-renderer-v8/src/runtime/tests.rs +++ b/moli-renderer-v8/src/runtime/tests.rs @@ -278,12 +278,12 @@ async fn recv_page_lifecycle_until( async fn serialize_html_for_renderer_page(page: &RendererPageHandle) -> String { let (reply, _) = page - .run_async_command(RendererPageCommand::SerializeHtml) + .run_async_command(RendererPageCommand::SerializeDocument) .await .expect("renderer page should serialize HTML"); match reply { - RendererPageReply::OptionalString(Some(html)) => html, - _ => panic!("expected SerializeHtml string reply"), + RendererPageReply::SerializedDocument { html, .. } => html, + _ => panic!("expected serialized document reply"), } }