Remove unneeded BindTo

This commit is contained in:
Shelley Vohr
2020-12-11 11:56:23 -08:00
parent a46b924272
commit ca3287895a
2 changed files with 9 additions and 16 deletions

View File

@@ -14,7 +14,8 @@
namespace electron {
ElectronBrowserHandlerImpl::ElectronBrowserHandlerImpl(
content::RenderFrameHost* frame_host)
content::RenderFrameHost* frame_host,
mojo::PendingReceiver<mojom::ElectronBrowser> receiver)
: render_process_id_(frame_host->GetProcess()->GetID()),
render_frame_id_(frame_host->GetRoutingID()),
weak_factory_(this) {
@@ -22,21 +23,14 @@ ElectronBrowserHandlerImpl::ElectronBrowserHandlerImpl(
content::WebContents::FromRenderFrameHost(frame_host);
DCHECK(web_contents);
content::WebContentsObserver::Observe(web_contents);
}
ElectronBrowserHandlerImpl::~ElectronBrowserHandlerImpl() = default;
void ElectronBrowserHandlerImpl::BindTo(
mojo::PendingReceiver<mojom::ElectronBrowser> receiver) {
// Note: BindTo might be called for multiple times.
if (receiver_.is_bound())
receiver_.reset();
receiver_.Bind(std::move(receiver));
receiver_.set_disconnect_handler(base::BindOnce(
&ElectronBrowserHandlerImpl::OnConnectionError, GetWeakPtr()));
}
ElectronBrowserHandlerImpl::~ElectronBrowserHandlerImpl() = default;
void ElectronBrowserHandlerImpl::WebContentsDestroyed() {
delete this;
}
@@ -145,7 +139,7 @@ content::RenderFrameHost* ElectronBrowserHandlerImpl::GetRenderFrameHost() {
void ElectronBrowserHandlerImpl::Create(
content::RenderFrameHost* frame_host,
mojo::PendingReceiver<mojom::ElectronBrowser> receiver) {
auto* browser_handler = new ElectronBrowserHandlerImpl(frame_host);
browser_handler->BindTo(std::move(receiver));
auto* browser_handler =
new ElectronBrowserHandlerImpl(frame_host, std::move(receiver));
}
} // namespace electron

View File

@@ -23,13 +23,12 @@ class ElectronBrowserHandlerImpl : public mojom::ElectronBrowser,
public content::WebContentsObserver {
public:
explicit ElectronBrowserHandlerImpl(
content::RenderFrameHost* render_frame_host);
content::RenderFrameHost* render_frame_host,
mojo::PendingReceiver<mojom::ElectronBrowser> receiver);
static void Create(content::RenderFrameHost* frame_host,
mojo::PendingReceiver<mojom::ElectronBrowser> receiver);
void BindTo(mojo::PendingReceiver<mojom::ElectronBrowser> receiver);
// mojom::ElectronBrowser:
void Message(bool internal,
const std::string& channel,
@@ -68,7 +67,7 @@ class ElectronBrowserHandlerImpl : public mojom::ElectronBrowser,
void OnConnectionError();
api::WebContents* GetAPIWebContents();
content::RenderFrameHost* GetRenderFrameHost();
const int render_process_id_;
const int render_frame_id_;