From f332895773f5016da5bf0c8ddda6fcdcdf0b4603 Mon Sep 17 00:00:00 2001 From: Holden Warriner Date: Fri, 7 Feb 2025 16:29:22 -0500 Subject: [PATCH] Add CobaltRenderFrameObserver comments, style fix b/393406740 --- cobalt/renderer/cobalt_render_frame_observer.cc | 6 +++++- cobalt/renderer/cobalt_render_frame_observer.h | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cobalt/renderer/cobalt_render_frame_observer.cc b/cobalt/renderer/cobalt_render_frame_observer.cc index f46c9764ee4..7bec95f4482 100644 --- a/cobalt/renderer/cobalt_render_frame_observer.cc +++ b/cobalt/renderer/cobalt_render_frame_observer.cc @@ -32,8 +32,12 @@ void CobaltRenderFrameObserver::OnDestruct() { } void CobaltRenderFrameObserver::DidClearWindowObject() { - auto& cmd = *base::CommandLine::ForCurrentProcess(); + const auto& cmd = *base::CommandLine::ForCurrentProcess(); if (cmd.HasSwitch(switches::kExposeInternalsForTesting)) { + // The internals object is injected here so that window.internals is exposed + // to JavaScript at initial load of the web app, when the frame navigates + // from the initial empty document to the actual document. This approach is + // borrowed from content shell. blink::WebTestingSupport::InjectInternalsObject( render_frame()->GetWebFrame()); } diff --git a/cobalt/renderer/cobalt_render_frame_observer.h b/cobalt/renderer/cobalt_render_frame_observer.h index 6f6161840b0..f84081e6b08 100644 --- a/cobalt/renderer/cobalt_render_frame_observer.h +++ b/cobalt/renderer/cobalt_render_frame_observer.h @@ -20,6 +20,7 @@ namespace cobalt { +// Enables Cobalt-specific responses to notifications of changes to the frame. class CobaltRenderFrameObserver : public content::RenderFrameObserver { public: explicit CobaltRenderFrameObserver(content::RenderFrame* render_frame); @@ -30,7 +31,14 @@ class CobaltRenderFrameObserver : public content::RenderFrameObserver { delete; private: + // content::RenderFrameObserver impl. + + // Overridden so that the observer has the same lifetime as the RenderFrame. void OnDestruct() override; + + // Overridden for Cobalt-specific responses to this particular notification. + // See blink::WebLocalFrameClient.DidClearWindowObject() for details about + // when it's sent. void DidClearWindowObject() override; };