#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "chrome/common/plugin.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 "chrome/common/plugin.mojom-params-data.h"
#include "chrome/common/plugin.mojom-shared-message-ids.h"
#include "chrome/common/plugin.mojom-import-headers.h"
#include "chrome/common/plugin.mojom-test-utils.h"
#include "content/public/common/webplugininfo_param_traits.h"
namespace chrome::mojom {
PluginInfo::PluginInfo()
: … { … }
PluginInfo::PluginInfo(
PluginStatus status_in,
const ::content::WebPluginInfo& plugin_in,
const std::string& actual_mime_type_in,
const std::string& group_identifier_in,
const ::std::u16string& group_name_in)
: … { … }
PluginInfo::~PluginInfo() = default;
void PluginInfo::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PluginInfo::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
PluginParam::PluginParam()
: … { … }
PluginParam::PluginParam(
const ::std::u16string& name_in,
const ::std::u16string& value_in)
: … { … }
PluginParam::~PluginParam() = default;
void PluginParam::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PluginParam::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char PluginHost::Name_[] = …;
PluginHost::IPCStableHashFunction PluginHost::MessageToMethodInfo_(mojo::Message& message) { … }
const char* PluginHost::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t PluginHost::CouldNotLoadPlugin_Sym::IPCStableHash() { … }
uint32_t PluginHost::OpenPDF_Sym::IPCStableHash() { … }
# endif
PluginHostProxy::PluginHostProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void PluginHostProxy::CouldNotLoadPlugin(
const ::base::FilePath& in_file_path) { … }
void PluginHostProxy::OpenPDF(
const ::GURL& in_url) { … }
bool PluginHostStubDispatch::Accept(
PluginHost* impl,
mojo::Message* message) { … }
bool PluginHostStubDispatch::AcceptWithResponder(
PluginHost* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPluginHostValidationInfo[] = …;
bool PluginHostRequestValidator::Accept(mojo::Message* message) { … }
const char PluginAuthHost::Name_[] = …;
PluginAuthHost::IPCStableHashFunction PluginAuthHost::MessageToMethodInfo_(mojo::Message& message) { … }
const char* PluginAuthHost::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t PluginAuthHost::BlockedUnauthorizedPlugin_Sym::IPCStableHash() { … }
# endif
PluginAuthHostProxy::PluginAuthHostProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void PluginAuthHostProxy::BlockedUnauthorizedPlugin(
const ::std::u16string& in_name, const std::string& in_group_id) { … }
bool PluginAuthHostStubDispatch::Accept(
PluginAuthHost* impl,
mojo::Message* message) { … }
bool PluginAuthHostStubDispatch::AcceptWithResponder(
PluginAuthHost* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPluginAuthHostValidationInfo[] = …;
bool PluginAuthHostRequestValidator::Accept(mojo::Message* message) { … }
const char PluginInfoHost::Name_[] = …;
PluginInfoHost::IPCStableHashFunction PluginInfoHost::MessageToMethodInfo_(mojo::Message& message) { … }
const char* PluginInfoHost::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t PluginInfoHost::GetPluginInfo_Sym::IPCStableHash() { … }
# endif
bool PluginInfoHost::GetPluginInfo(const ::GURL& url, const ::url::Origin& origin, const std::string& mime_type, PluginInfoPtr* out_plugin_info) { … }
class PluginInfoHost_GetPluginInfo_HandleSyncResponse
: public mojo::MessageReceiver { … };
class PluginInfoHost_GetPluginInfo_ForwardToCallback
: public mojo::MessageReceiver { … };
PluginInfoHostProxy::PluginInfoHostProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
bool PluginInfoHostProxy::GetPluginInfo(
const ::GURL& param_url, const ::url::Origin& param_origin, const std::string& param_mime_type, PluginInfoPtr* out_param_plugin_info) { … }
void PluginInfoHostProxy::GetPluginInfo(
const ::GURL& in_url, const ::url::Origin& in_origin, const std::string& in_mime_type, GetPluginInfoCallback callback) { … }
class PluginInfoHost_GetPluginInfo_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool PluginInfoHost_GetPluginInfo_ForwardToCallback::Accept(
mojo::Message* message) { … }
void PluginInfoHost_GetPluginInfo_ProxyToResponder::Run(
PluginInfoPtr in_plugin_info) { … }
bool PluginInfoHost_GetPluginInfo_HandleSyncResponse::Accept(
mojo::Message* message) { … }
bool PluginInfoHostStubDispatch::Accept(
PluginInfoHost* impl,
mojo::Message* message) { … }
bool PluginInfoHostStubDispatch::AcceptWithResponder(
PluginInfoHost* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kPluginInfoHostValidationInfo[] = …;
bool PluginInfoHostRequestValidator::Accept(mojo::Message* message) { … }
bool PluginInfoHostResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::chrome::mojom::PluginInfo::DataView, ::chrome::mojom::PluginInfoPtr>::Read(
::chrome::mojom::PluginInfo::DataView input,
::chrome::mojom::PluginInfoPtr* output) { … }
bool StructTraits<::chrome::mojom::PluginParam::DataView, ::chrome::mojom::PluginParamPtr>::Read(
::chrome::mojom::PluginParam::DataView input,
::chrome::mojom::PluginParamPtr* output) { … }
}
namespace chrome::mojom {
void PluginHostInterceptorForTesting::CouldNotLoadPlugin(const ::base::FilePath& file_path) { … }
void PluginHostInterceptorForTesting::OpenPDF(const ::GURL& url) { … }
PluginHostAsyncWaiter::PluginHostAsyncWaiter(
PluginHost* proxy) : … { … }
PluginHostAsyncWaiter::~PluginHostAsyncWaiter() = default;
void PluginAuthHostInterceptorForTesting::BlockedUnauthorizedPlugin(const ::std::u16string& name, const std::string& group_id) { … }
PluginAuthHostAsyncWaiter::PluginAuthHostAsyncWaiter(
PluginAuthHost* proxy) : … { … }
PluginAuthHostAsyncWaiter::~PluginAuthHostAsyncWaiter() = default;
void PluginInfoHostInterceptorForTesting::GetPluginInfo(const ::GURL& url, const ::url::Origin& origin, const std::string& mime_type, GetPluginInfoCallback callback) { … }
PluginInfoHostAsyncWaiter::PluginInfoHostAsyncWaiter(
PluginInfoHost* proxy) : … { … }
PluginInfoHostAsyncWaiter::~PluginInfoHostAsyncWaiter() = default;
void PluginInfoHostAsyncWaiter::GetPluginInfo(
const ::GURL& url, const ::url::Origin& origin, const std::string& mime_type, PluginInfoPtr* out_plugin_info) { … }
PluginInfoPtr PluginInfoHostAsyncWaiter::GetPluginInfo(
const ::GURL& url, const ::url::Origin& origin, const std::string& mime_type) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif