refactor: use content::GlobalRenderFrameHostId (#38843)
Co-authored-by: Milan Burda <miburda@microsoft.com>
This commit is contained in:
parent
93024be3b2
commit
2b3902e526
5 changed files with 12 additions and 16 deletions
|
@ -14,8 +14,7 @@ namespace electron {
|
||||||
ElectronApiIPCHandlerImpl::ElectronApiIPCHandlerImpl(
|
ElectronApiIPCHandlerImpl::ElectronApiIPCHandlerImpl(
|
||||||
content::RenderFrameHost* frame_host,
|
content::RenderFrameHost* frame_host,
|
||||||
mojo::PendingAssociatedReceiver<mojom::ElectronApiIPC> receiver)
|
mojo::PendingAssociatedReceiver<mojom::ElectronApiIPC> receiver)
|
||||||
: render_process_id_(frame_host->GetProcess()->GetID()),
|
: render_frame_host_id_(frame_host->GetGlobalId()) {
|
||||||
render_frame_id_(frame_host->GetRoutingID()) {
|
|
||||||
content::WebContents* web_contents =
|
content::WebContents* web_contents =
|
||||||
content::WebContents::FromRenderFrameHost(frame_host);
|
content::WebContents::FromRenderFrameHost(frame_host);
|
||||||
DCHECK(web_contents);
|
DCHECK(web_contents);
|
||||||
|
@ -96,7 +95,7 @@ void ElectronApiIPCHandlerImpl::MessageHost(const std::string& channel,
|
||||||
}
|
}
|
||||||
|
|
||||||
content::RenderFrameHost* ElectronApiIPCHandlerImpl::GetRenderFrameHost() {
|
content::RenderFrameHost* ElectronApiIPCHandlerImpl::GetRenderFrameHost() {
|
||||||
return content::RenderFrameHost::FromID(render_process_id_, render_frame_id_);
|
return content::RenderFrameHost::FromID(render_frame_host_id_);
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "base/memory/weak_ptr.h"
|
#include "base/memory/weak_ptr.h"
|
||||||
|
#include "content/public/browser/global_routing_id.h"
|
||||||
#include "content/public/browser/web_contents_observer.h"
|
#include "content/public/browser/web_contents_observer.h"
|
||||||
#include "electron/shell/common/api/api.mojom.h"
|
#include "electron/shell/common/api/api.mojom.h"
|
||||||
#include "mojo/public/cpp/bindings/associated_receiver.h"
|
#include "mojo/public/cpp/bindings/associated_receiver.h"
|
||||||
|
@ -68,8 +69,7 @@ class ElectronApiIPCHandlerImpl : public mojom::ElectronApiIPC,
|
||||||
|
|
||||||
content::RenderFrameHost* GetRenderFrameHost();
|
content::RenderFrameHost* GetRenderFrameHost();
|
||||||
|
|
||||||
const int render_process_id_;
|
content::GlobalRenderFrameHostId render_frame_host_id_;
|
||||||
const int render_frame_id_;
|
|
||||||
|
|
||||||
mojo::AssociatedReceiver<mojom::ElectronApiIPC> receiver_{this};
|
mojo::AssociatedReceiver<mojom::ElectronApiIPC> receiver_{this};
|
||||||
|
|
||||||
|
|
|
@ -55,8 +55,7 @@ class ElectronPermissionManager::PendingRequest {
|
||||||
PendingRequest(content::RenderFrameHost* render_frame_host,
|
PendingRequest(content::RenderFrameHost* render_frame_host,
|
||||||
const std::vector<blink::PermissionType>& permissions,
|
const std::vector<blink::PermissionType>& permissions,
|
||||||
StatusesCallback callback)
|
StatusesCallback callback)
|
||||||
: render_process_id_(render_frame_host->GetProcess()->GetID()),
|
: render_frame_host_id_(render_frame_host->GetGlobalId()),
|
||||||
render_frame_id_(render_frame_host->GetGlobalId()),
|
|
||||||
callback_(std::move(callback)),
|
callback_(std::move(callback)),
|
||||||
permissions_(permissions),
|
permissions_(permissions),
|
||||||
results_(permissions.size(), blink::mojom::PermissionStatus::DENIED),
|
results_(permissions.size(), blink::mojom::PermissionStatus::DENIED),
|
||||||
|
@ -70,7 +69,7 @@ class ElectronPermissionManager::PendingRequest {
|
||||||
const auto permission = permissions_[permission_id];
|
const auto permission = permissions_[permission_id];
|
||||||
if (permission == blink::PermissionType::MIDI_SYSEX) {
|
if (permission == blink::PermissionType::MIDI_SYSEX) {
|
||||||
content::ChildProcessSecurityPolicy::GetInstance()
|
content::ChildProcessSecurityPolicy::GetInstance()
|
||||||
->GrantSendMidiSysExMessage(render_process_id_);
|
->GrantSendMidiSysExMessage(render_frame_host_id_.child_id);
|
||||||
} else if (permission == blink::PermissionType::GEOLOCATION) {
|
} else if (permission == blink::PermissionType::GEOLOCATION) {
|
||||||
ElectronBrowserMainParts::Get()
|
ElectronBrowserMainParts::Get()
|
||||||
->GetGeolocationControl()
|
->GetGeolocationControl()
|
||||||
|
@ -83,7 +82,7 @@ class ElectronPermissionManager::PendingRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
content::RenderFrameHost* GetRenderFrameHost() {
|
content::RenderFrameHost* GetRenderFrameHost() {
|
||||||
return content::RenderFrameHost::FromID(render_frame_id_);
|
return content::RenderFrameHost::FromID(render_frame_host_id_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsComplete() const { return remaining_results_ == 0; }
|
bool IsComplete() const { return remaining_results_ == 0; }
|
||||||
|
@ -95,8 +94,7 @@ class ElectronPermissionManager::PendingRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int render_process_id_;
|
content::GlobalRenderFrameHostId render_frame_host_id_;
|
||||||
content::GlobalRenderFrameHostId render_frame_id_;
|
|
||||||
StatusesCallback callback_;
|
StatusesCallback callback_;
|
||||||
std::vector<blink::PermissionType> permissions_;
|
std::vector<blink::PermissionType> permissions_;
|
||||||
std::vector<blink::mojom::PermissionStatus> results_;
|
std::vector<blink::mojom::PermissionStatus> results_;
|
||||||
|
|
|
@ -14,8 +14,7 @@ namespace electron {
|
||||||
ElectronWebContentsUtilityHandlerImpl::ElectronWebContentsUtilityHandlerImpl(
|
ElectronWebContentsUtilityHandlerImpl::ElectronWebContentsUtilityHandlerImpl(
|
||||||
content::RenderFrameHost* frame_host,
|
content::RenderFrameHost* frame_host,
|
||||||
mojo::PendingAssociatedReceiver<mojom::ElectronWebContentsUtility> receiver)
|
mojo::PendingAssociatedReceiver<mojom::ElectronWebContentsUtility> receiver)
|
||||||
: render_process_id_(frame_host->GetProcess()->GetID()),
|
: render_frame_host_id_(frame_host->GetGlobalId()) {
|
||||||
render_frame_id_(frame_host->GetRoutingID()) {
|
|
||||||
content::WebContents* web_contents =
|
content::WebContents* web_contents =
|
||||||
content::WebContents::FromRenderFrameHost(frame_host);
|
content::WebContents::FromRenderFrameHost(frame_host);
|
||||||
DCHECK(web_contents);
|
DCHECK(web_contents);
|
||||||
|
@ -70,7 +69,7 @@ void ElectronWebContentsUtilityHandlerImpl::DoGetZoomLevel(
|
||||||
|
|
||||||
content::RenderFrameHost*
|
content::RenderFrameHost*
|
||||||
ElectronWebContentsUtilityHandlerImpl::GetRenderFrameHost() {
|
ElectronWebContentsUtilityHandlerImpl::GetRenderFrameHost() {
|
||||||
return content::RenderFrameHost::FromID(render_process_id_, render_frame_id_);
|
return content::RenderFrameHost::FromID(render_frame_host_id_);
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "base/memory/weak_ptr.h"
|
#include "base/memory/weak_ptr.h"
|
||||||
|
#include "content/public/browser/global_routing_id.h"
|
||||||
#include "content/public/browser/web_contents_observer.h"
|
#include "content/public/browser/web_contents_observer.h"
|
||||||
#include "electron/shell/common/api/api.mojom.h"
|
#include "electron/shell/common/api/api.mojom.h"
|
||||||
#include "mojo/public/cpp/bindings/associated_receiver.h"
|
#include "mojo/public/cpp/bindings/associated_receiver.h"
|
||||||
|
@ -59,8 +60,7 @@ class ElectronWebContentsUtilityHandlerImpl
|
||||||
|
|
||||||
content::RenderFrameHost* GetRenderFrameHost();
|
content::RenderFrameHost* GetRenderFrameHost();
|
||||||
|
|
||||||
const int render_process_id_;
|
content::GlobalRenderFrameHostId render_frame_host_id_;
|
||||||
const int render_frame_id_;
|
|
||||||
|
|
||||||
mojo::AssociatedReceiver<mojom::ElectronWebContentsUtility> receiver_{this};
|
mojo::AssociatedReceiver<mojom::ElectronWebContentsUtility> receiver_{this};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue