Files
electron/shell/renderer/electron_render_frame_observer.h
electron-roller[bot] ba135e2f7f chore: bump chromium to 144.0.7506.0 (main) (#48744)
* chore: bump chromium in DEPS to 144.0.7504.0

* chore: bump chromium in DEPS to 144.0.7506.0

* chore: update patches

* Revert "build: explicitly disable reclient"

This reverts commit e08c6adb08.

No longer needed after https://crrev.com/c/7099239

* 7097498: Remove MSG_ROUTING_* constants from ipc_message.h

https://chromium-review.googlesource.com/c/chromium/src/+/7097498

* 7090671: [//gpu] Remove unneeded GpuInfo methods

https://chromium-review.googlesource.com/c/chromium/src/+/7090671

* 7103701: Remove IPC::PlatformFileForTransit.

https://chromium-review.googlesource.com/c/chromium/src/+/7103701

(This should have been removed with https://github.com/electron/electron/pull/17406).

* chore: update filenames.libcxx.gni

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2025-11-03 21:26:16 -08:00

51 lines
1.7 KiB
C++

// Copyright (c) 2017 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ELECTRON_SHELL_RENDERER_ELECTRON_RENDER_FRAME_OBSERVER_H_
#define ELECTRON_SHELL_RENDERER_ELECTRON_RENDER_FRAME_OBSERVER_H_
#include <string>
#include "content/public/renderer/render_frame_observer.h"
#include "third_party/blink/public/web/web_local_frame.h"
namespace electron {
class RendererClientBase;
// Helper class to forward the messages to the client.
class ElectronRenderFrameObserver : private content::RenderFrameObserver {
public:
ElectronRenderFrameObserver(content::RenderFrame* frame,
RendererClientBase* renderer_client);
// disable copy
ElectronRenderFrameObserver(const ElectronRenderFrameObserver&) = delete;
ElectronRenderFrameObserver& operator=(const ElectronRenderFrameObserver&) =
delete;
private:
// content::RenderFrameObserver:
void DidClearWindowObject() override;
void DidInstallConditionalFeatures(v8::Local<v8::Context> context,
int world_id) override;
void WillReleaseScriptContext(v8::Isolate* const isolate,
v8::Local<v8::Context> context,
int world_id) override;
void OnDestruct() override;
void DidMeaningfulLayout(blink::WebMeaningfulLayout layout_type) override;
[[nodiscard]] bool ShouldNotifyClient(int world_id) const;
void CreateIsolatedWorldContext();
bool has_delayed_node_initialization_ = false;
raw_ptr<content::RenderFrame> render_frame_;
raw_ptr<RendererClientBase> renderer_client_;
};
} // namespace electron
#endif // ELECTRON_SHELL_RENDERER_ELECTRON_RENDER_FRAME_OBSERVER_H_