#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "content/browser/process_internals/process_internals.mojom.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/debug/alias.h"
#include "base/hash/md5_constexpr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "mojo/public/cpp/bindings/features.h"
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/generated_code_util.h"
#include "mojo/public/cpp/bindings/lib/message_internal.h"
#include "mojo/public/cpp/bindings/lib/proxy_to_responder.h"
#include "mojo/public/cpp/bindings/lib/send_message_helper.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "mojo/public/cpp/bindings/urgent_message_scope.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "content/browser/process_internals/process_internals.mojom-params-data.h"
#include "content/browser/process_internals/process_internals.mojom-shared-message-ids.h"
#include "content/browser/process_internals/process_internals.mojom-import-headers.h"
#include "content/browser/process_internals/process_internals.mojom-test-utils.h"
namespace mojom {
ProcessCountInfo::ProcessCountInfo()
: … { … }
ProcessCountInfo::ProcessCountInfo(
uint64_t renderer_process_limit_in,
uint64_t renderer_process_count_total_in,
uint64_t renderer_process_count_for_limit_in)
: … { … }
ProcessCountInfo::~ProcessCountInfo() = default;
size_t ProcessCountInfo::Hash(size_t seed) const { … }
void ProcessCountInfo::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool ProcessCountInfo::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
SiteInstanceInfo::SiteInstanceInfo()
: … { … }
SiteInstanceInfo::SiteInstanceInfo(
int32_t id_in,
int32_t site_instance_group_id_in,
int32_t browsing_instance_id_in,
bool locked_in,
const std::optional<::GURL>& site_url_in,
const std::optional<::GURL>& process_lock_url_in,
bool requires_origin_keyed_process_in,
bool is_sandbox_for_iframes_in,
bool is_guest_in,
bool is_pdf_in,
const std::optional<std::string>& storage_partition_in)
: … { … }
SiteInstanceInfo::~SiteInstanceInfo() = default;
void SiteInstanceInfo::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool SiteInstanceInfo::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
FrameInfo::FrameInfo()
: … { … }
FrameInfo::FrameInfo(
int32_t routing_id_in,
int32_t agent_scheduling_group_id_in,
int32_t process_id_in,
SiteInstanceInfoPtr site_instance_in,
const std::optional<::GURL>& last_committed_url_in,
std::vector<FrameInfoPtr> subframes_in,
FrameInfo::Type type_in)
: … { … }
FrameInfo::~FrameInfo() = default;
void FrameInfo::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool FrameInfo::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
WebContentsInfo::WebContentsInfo()
: … { … }
WebContentsInfo::WebContentsInfo(
const std::string& title_in,
FrameInfoPtr root_frame_in,
std::vector<FrameInfoPtr> bfcached_root_frames_in,
std::vector<FrameInfoPtr> prerender_root_frames_in)
: … { … }
WebContentsInfo::~WebContentsInfo() = default;
void WebContentsInfo::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool WebContentsInfo::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
IsolatedOriginInfo::IsolatedOriginInfo()
: … { … }
IsolatedOriginInfo::IsolatedOriginInfo(
const std::string& origin_in,
const std::string& source_in)
: … { … }
IsolatedOriginInfo::~IsolatedOriginInfo() = default;
size_t IsolatedOriginInfo::Hash(size_t seed) const { … }
void IsolatedOriginInfo::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool IsolatedOriginInfo::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char ProcessInternalsHandler::Name_[] = …;
ProcessInternalsHandler::IPCStableHashFunction ProcessInternalsHandler::MessageToMethodInfo_(mojo::Message& message) { … }
const char* ProcessInternalsHandler::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t ProcessInternalsHandler::GetProcessCountInfo_Sym::IPCStableHash() { … }
uint32_t ProcessInternalsHandler::GetIsolationMode_Sym::IPCStableHash() { … }
uint32_t ProcessInternalsHandler::GetProcessPerSiteMode_Sym::IPCStableHash() { … }
uint32_t ProcessInternalsHandler::GetUserTriggeredIsolatedOrigins_Sym::IPCStableHash() { … }
uint32_t ProcessInternalsHandler::GetWebTriggeredIsolatedOrigins_Sym::IPCStableHash() { … }
uint32_t ProcessInternalsHandler::GetGloballyIsolatedOrigins_Sym::IPCStableHash() { … }
uint32_t ProcessInternalsHandler::GetAllWebContentsInfo_Sym::IPCStableHash() { … }
# endif
class ProcessInternalsHandler_GetProcessCountInfo_ForwardToCallback
: public mojo::MessageReceiver { … };
class ProcessInternalsHandler_GetIsolationMode_ForwardToCallback
: public mojo::MessageReceiver { … };
class ProcessInternalsHandler_GetProcessPerSiteMode_ForwardToCallback
: public mojo::MessageReceiver { … };
class ProcessInternalsHandler_GetUserTriggeredIsolatedOrigins_ForwardToCallback
: public mojo::MessageReceiver { … };
class ProcessInternalsHandler_GetWebTriggeredIsolatedOrigins_ForwardToCallback
: public mojo::MessageReceiver { … };
class ProcessInternalsHandler_GetGloballyIsolatedOrigins_ForwardToCallback
: public mojo::MessageReceiver { … };
class ProcessInternalsHandler_GetAllWebContentsInfo_ForwardToCallback
: public mojo::MessageReceiver { … };
ProcessInternalsHandlerProxy::ProcessInternalsHandlerProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void ProcessInternalsHandlerProxy::GetProcessCountInfo(
GetProcessCountInfoCallback callback) { … }
void ProcessInternalsHandlerProxy::GetIsolationMode(
GetIsolationModeCallback callback) { … }
void ProcessInternalsHandlerProxy::GetProcessPerSiteMode(
GetProcessPerSiteModeCallback callback) { … }
void ProcessInternalsHandlerProxy::GetUserTriggeredIsolatedOrigins(
GetUserTriggeredIsolatedOriginsCallback callback) { … }
void ProcessInternalsHandlerProxy::GetWebTriggeredIsolatedOrigins(
GetWebTriggeredIsolatedOriginsCallback callback) { … }
void ProcessInternalsHandlerProxy::GetGloballyIsolatedOrigins(
GetGloballyIsolatedOriginsCallback callback) { … }
void ProcessInternalsHandlerProxy::GetAllWebContentsInfo(
GetAllWebContentsInfoCallback callback) { … }
class ProcessInternalsHandler_GetProcessCountInfo_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool ProcessInternalsHandler_GetProcessCountInfo_ForwardToCallback::Accept(
mojo::Message* message) { … }
void ProcessInternalsHandler_GetProcessCountInfo_ProxyToResponder::Run(
ProcessCountInfoPtr in_info) { … }
class ProcessInternalsHandler_GetIsolationMode_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool ProcessInternalsHandler_GetIsolationMode_ForwardToCallback::Accept(
mojo::Message* message) { … }
void ProcessInternalsHandler_GetIsolationMode_ProxyToResponder::Run(
const std::string& in_mode) { … }
class ProcessInternalsHandler_GetProcessPerSiteMode_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool ProcessInternalsHandler_GetProcessPerSiteMode_ForwardToCallback::Accept(
mojo::Message* message) { … }
void ProcessInternalsHandler_GetProcessPerSiteMode_ProxyToResponder::Run(
const std::string& in_mode) { … }
class ProcessInternalsHandler_GetUserTriggeredIsolatedOrigins_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool ProcessInternalsHandler_GetUserTriggeredIsolatedOrigins_ForwardToCallback::Accept(
mojo::Message* message) { … }
void ProcessInternalsHandler_GetUserTriggeredIsolatedOrigins_ProxyToResponder::Run(
const std::vector<std::string>& in_isolated_origins) { … }
class ProcessInternalsHandler_GetWebTriggeredIsolatedOrigins_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool ProcessInternalsHandler_GetWebTriggeredIsolatedOrigins_ForwardToCallback::Accept(
mojo::Message* message) { … }
void ProcessInternalsHandler_GetWebTriggeredIsolatedOrigins_ProxyToResponder::Run(
const std::vector<std::string>& in_isolated_origins) { … }
class ProcessInternalsHandler_GetGloballyIsolatedOrigins_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool ProcessInternalsHandler_GetGloballyIsolatedOrigins_ForwardToCallback::Accept(
mojo::Message* message) { … }
void ProcessInternalsHandler_GetGloballyIsolatedOrigins_ProxyToResponder::Run(
std::vector<IsolatedOriginInfoPtr> in_isolated_origins) { … }
class ProcessInternalsHandler_GetAllWebContentsInfo_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool ProcessInternalsHandler_GetAllWebContentsInfo_ForwardToCallback::Accept(
mojo::Message* message) { … }
void ProcessInternalsHandler_GetAllWebContentsInfo_ProxyToResponder::Run(
std::vector<WebContentsInfoPtr> in_infos) { … }
bool ProcessInternalsHandlerStubDispatch::Accept(
ProcessInternalsHandler* impl,
mojo::Message* message) { … }
bool ProcessInternalsHandlerStubDispatch::AcceptWithResponder(
ProcessInternalsHandler* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kProcessInternalsHandlerValidationInfo[] = …;
bool ProcessInternalsHandlerRequestValidator::Accept(mojo::Message* message) { … }
bool ProcessInternalsHandlerResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::mojom::ProcessCountInfo::DataView, ::mojom::ProcessCountInfoPtr>::Read(
::mojom::ProcessCountInfo::DataView input,
::mojom::ProcessCountInfoPtr* output) { … }
bool StructTraits<::mojom::SiteInstanceInfo::DataView, ::mojom::SiteInstanceInfoPtr>::Read(
::mojom::SiteInstanceInfo::DataView input,
::mojom::SiteInstanceInfoPtr* output) { … }
bool StructTraits<::mojom::FrameInfo::DataView, ::mojom::FrameInfoPtr>::Read(
::mojom::FrameInfo::DataView input,
::mojom::FrameInfoPtr* output) { … }
bool StructTraits<::mojom::WebContentsInfo::DataView, ::mojom::WebContentsInfoPtr>::Read(
::mojom::WebContentsInfo::DataView input,
::mojom::WebContentsInfoPtr* output) { … }
bool StructTraits<::mojom::IsolatedOriginInfo::DataView, ::mojom::IsolatedOriginInfoPtr>::Read(
::mojom::IsolatedOriginInfo::DataView input,
::mojom::IsolatedOriginInfoPtr* output) { … }
}
namespace mojom {
void ProcessInternalsHandlerInterceptorForTesting::GetProcessCountInfo(GetProcessCountInfoCallback callback) { … }
void ProcessInternalsHandlerInterceptorForTesting::GetIsolationMode(GetIsolationModeCallback callback) { … }
void ProcessInternalsHandlerInterceptorForTesting::GetProcessPerSiteMode(GetProcessPerSiteModeCallback callback) { … }
void ProcessInternalsHandlerInterceptorForTesting::GetUserTriggeredIsolatedOrigins(GetUserTriggeredIsolatedOriginsCallback callback) { … }
void ProcessInternalsHandlerInterceptorForTesting::GetWebTriggeredIsolatedOrigins(GetWebTriggeredIsolatedOriginsCallback callback) { … }
void ProcessInternalsHandlerInterceptorForTesting::GetGloballyIsolatedOrigins(GetGloballyIsolatedOriginsCallback callback) { … }
void ProcessInternalsHandlerInterceptorForTesting::GetAllWebContentsInfo(GetAllWebContentsInfoCallback callback) { … }
ProcessInternalsHandlerAsyncWaiter::ProcessInternalsHandlerAsyncWaiter(
ProcessInternalsHandler* proxy) : … { … }
ProcessInternalsHandlerAsyncWaiter::~ProcessInternalsHandlerAsyncWaiter() = default;
void ProcessInternalsHandlerAsyncWaiter::GetProcessCountInfo(
ProcessCountInfoPtr* out_info) { … }
ProcessCountInfoPtr ProcessInternalsHandlerAsyncWaiter::GetProcessCountInfo(
) { … }
void ProcessInternalsHandlerAsyncWaiter::GetIsolationMode(
std::string* out_mode) { … }
std::string ProcessInternalsHandlerAsyncWaiter::GetIsolationMode(
) { … }
void ProcessInternalsHandlerAsyncWaiter::GetProcessPerSiteMode(
std::string* out_mode) { … }
std::string ProcessInternalsHandlerAsyncWaiter::GetProcessPerSiteMode(
) { … }
void ProcessInternalsHandlerAsyncWaiter::GetUserTriggeredIsolatedOrigins(
std::vector<std::string>* out_isolated_origins) { … }
std::vector<std::string> ProcessInternalsHandlerAsyncWaiter::GetUserTriggeredIsolatedOrigins(
) { … }
void ProcessInternalsHandlerAsyncWaiter::GetWebTriggeredIsolatedOrigins(
std::vector<std::string>* out_isolated_origins) { … }
std::vector<std::string> ProcessInternalsHandlerAsyncWaiter::GetWebTriggeredIsolatedOrigins(
) { … }
void ProcessInternalsHandlerAsyncWaiter::GetGloballyIsolatedOrigins(
std::vector<IsolatedOriginInfoPtr>* out_isolated_origins) { … }
std::vector<IsolatedOriginInfoPtr> ProcessInternalsHandlerAsyncWaiter::GetGloballyIsolatedOrigins(
) { … }
void ProcessInternalsHandlerAsyncWaiter::GetAllWebContentsInfo(
std::vector<WebContentsInfoPtr>* out_infos) { … }
std::vector<WebContentsInfoPtr> ProcessInternalsHandlerAsyncWaiter::GetAllWebContentsInfo(
) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif