Make ElectronBrowser mojo interface frame associated. (#32734)

This commit is contained in:
marekharanczyk 2022-02-08 17:33:21 +01:00 committed by GitHub
parent 58af7d2a9a
commit e119da8ce2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 38 additions and 32 deletions

View file

@ -22,7 +22,7 @@
#include "shell/common/node_bindings.h"
#include "shell/common/node_includes.h"
#include "shell/common/v8_value_serializer.h"
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/public/web/web_message_port_converter.h"
@ -59,8 +59,8 @@ class IPCRenderer : public gin::Wrappable<IPCRenderer>,
v8::Global<v8::Context>(isolate, isolate->GetCurrentContext());
weak_context_.SetWeak();
render_frame->GetBrowserInterfaceBroker()->GetInterface(
electron_browser_remote_.BindNewPipeAndPassReceiver());
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
&electron_browser_remote_);
}
void OnDestruct() override { electron_browser_remote_.reset(); }
@ -223,7 +223,8 @@ class IPCRenderer : public gin::Wrappable<IPCRenderer>,
}
v8::Global<v8::Context> weak_context_;
mojo::Remote<electron::mojom::ElectronBrowser> electron_browser_remote_;
mojo::AssociatedRemote<electron::mojom::ElectronBrowser>
electron_browser_remote_;
};
gin::WrapperInfo IPCRenderer::kWrapperInfo = {gin::kEmbedderNativeGin};