Skip to content

Commit 4257277

Browse files
Consolidate RenderFrameObserver hierarchy (#8629)
The test RenderFrameObserver implementations, RenderFrameTestHelper and ShellRenderFrameObserver, now inherit from CobaltRenderFrameObserver instead of directly from content::RenderFrameObserver. This change unifies the inheritance chain for Cobalt-specific RenderFrameObservers, ensuring specialized observers build upon the common Cobalt-specific observer. This simplifies the management of renderer-side behavior and reduces potential inconsistencies. The DidClearWindowObject override, previously specific to browser tests, has been removed from CobaltRenderFrameObserver. Bug: 446894035
1 parent b6de770 commit 4257277

7 files changed

Lines changed: 7 additions & 32 deletions

File tree

cobalt/renderer/cobalt_render_frame_observer.cc

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@
2020
#include "starboard/extension/graphics.h"
2121
#include "starboard/system.h"
2222

23-
#if defined(RUN_BROWSER_TESTS)
24-
#include "third_party/blink/public/web/web_testing_support.h" // nogncheck
25-
#endif // defined(RUN_BROWSER_TESTS)
26-
2723
namespace cobalt {
2824

2925
CobaltRenderFrameObserver::CobaltRenderFrameObserver(
@@ -36,20 +32,6 @@ void CobaltRenderFrameObserver::OnDestruct() {
3632
delete this;
3733
}
3834

39-
#if defined(RUN_BROWSER_TESTS)
40-
void CobaltRenderFrameObserver::DidClearWindowObject() {
41-
const auto& cmd = *base::CommandLine::ForCurrentProcess();
42-
if (cmd.HasSwitch(switches::kExposeInternalsForTesting)) {
43-
// The internals object is injected here so that window.internals is exposed
44-
// to JavaScript at initial load of the web app, when the frame navigates
45-
// from the initial empty document to the actual document. This approach is
46-
// borrowed from content shell.
47-
blink::WebTestingSupport::InjectInternalsObject(
48-
render_frame()->GetWebFrame());
49-
}
50-
}
51-
#endif // defined(RUN_BROWSER_TESTS)
52-
5335
void CobaltRenderFrameObserver::DidMeaningfulLayout(
5436
blink::WebMeaningfulLayout meaningful_layout) {
5537
if (meaningful_layout == blink::WebMeaningfulLayout::kVisuallyNonEmpty) {

cobalt/renderer/cobalt_render_frame_observer.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,6 @@ class CobaltRenderFrameObserver : public content::RenderFrameObserver {
3939

4040
// Overridden so that the observer has the same lifetime as the RenderFrame.
4141
void OnDestruct() override;
42-
43-
#if defined(RUN_BROWSER_TESTS)
44-
// Overridden for Cobalt-specific responses to this particular notification.
45-
// See blink::WebLocalFrameClient.DidClearWindowObject() for details about
46-
// when it's sent.
47-
void DidClearWindowObject() override;
48-
#endif // defined(RUN_BROWSER_TESTS)
4942
};
5043

5144
} // namespace cobalt

cobalt/testing/browser_tests/BUILD.gn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,7 @@ source_set("cobalt_browsertests_support") {
483483
public_deps = [
484484
":cobalt_browsertests_support_mojom",
485485
":shell_controller_mojom",
486+
"//cobalt/renderer",
486487
"//components/custom_handlers:test_support",
487488
"//components/metrics:test_support",
488489
"//components/services/storage/test_api",

cobalt/testing/browser_tests/renderer/render_frame_test_helper.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void RenderFrameTestHelper::OnDestruct() {
4343
RenderFrameTestHelper::RenderFrameTestHelper(
4444
RenderFrame& render_frame,
4545
mojo::PendingReceiver<mojom::RenderFrameTestHelper> receiver)
46-
: RenderFrameObserver(&render_frame),
46+
: CobaltRenderFrameObserver(&render_frame),
4747
receiver_(this, std::move(receiver)) {}
4848

4949
} // namespace content

cobalt/testing/browser_tests/renderer/render_frame_test_helper.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
#ifndef COBALT_TESTING_BROWSER_TESTS_RENDERER_RENDER_FRAME_TEST_HELPER_H_
1616
#define COBALT_TESTING_BROWSER_TESTS_RENDERER_RENDER_FRAME_TEST_HELPER_H_
1717

18+
#include "cobalt/renderer/cobalt_render_frame_observer.h"
1819
#include "cobalt/testing/browser_tests/common/render_frame_test_helper.mojom.h"
19-
#include "content/public/renderer/render_frame_observer.h"
2020
#include "mojo/public/cpp/bindings/pending_receiver.h"
2121
#include "mojo/public/cpp/bindings/receiver.h"
2222

2323
namespace content {
2424

2525
class RenderFrameTestHelper : public mojom::RenderFrameTestHelper,
26-
public RenderFrameObserver {
26+
public cobalt::CobaltRenderFrameObserver {
2727
public:
2828
// Creates a new instance that deletes itself when the RenderFrame is
2929
// destroyed.

cobalt/testing/browser_tests/renderer/shell_render_frame_observer.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@
1919
#include "cobalt/testing/browser_tests/common/shell_test_switches.h"
2020
#include "cobalt/testing/browser_tests/renderer/render_frame_test_helper.h"
2121
#include "content/public/renderer/render_frame.h"
22-
#include "content/public/renderer/render_frame_observer.h"
2322
#include "third_party/blink/public/web/web_testing_support.h"
2423

2524
namespace content {
2625

2726
ShellRenderFrameObserver::ShellRenderFrameObserver(RenderFrame* render_frame)
28-
: RenderFrameObserver(render_frame) {}
27+
: cobalt::CobaltRenderFrameObserver(render_frame) {}
2928

3029
ShellRenderFrameObserver::~ShellRenderFrameObserver() = default;
3130

cobalt/testing/browser_tests/renderer/shell_render_frame_observer.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
#ifndef COBALT_TESTING_BROWSER_TESTS_RENDERER_SHELL_RENDER_FRAME_OBSERVER_H_
1616
#define COBALT_TESTING_BROWSER_TESTS_RENDERER_SHELL_RENDER_FRAME_OBSERVER_H_
1717

18-
#include "content/public/renderer/render_frame_observer.h"
18+
#include "cobalt/renderer/cobalt_render_frame_observer.h"
1919

2020
namespace content {
2121

22-
class ShellRenderFrameObserver : public RenderFrameObserver {
22+
class ShellRenderFrameObserver : public cobalt::CobaltRenderFrameObserver {
2323
public:
2424
explicit ShellRenderFrameObserver(RenderFrame* frame);
2525
~ShellRenderFrameObserver() override;

0 commit comments

Comments
 (0)