#include "chrome/browser/plugins/plugin_observer.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "build/build_config.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/infobars/simple_alert_infobar_creator.h"
#include "chrome/browser/plugins/plugin_observer_common.h"
#include "chrome/browser/plugins/reload_plugin_infobar_delegate.h"
#include "chrome/common/buildflags.h"
#include "chrome/grit/generated_resources.h"
#include "components/download/public/common/download_url_parameters.h"
#include "components/infobars/content/content_infobar_manager.h"
#include "components/metrics_services_manager/metrics_services_manager.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/download_manager.h"
#include "content/public/browser/plugin_service.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_delegate.h"
#include "content/public/common/webplugininfo.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "ppapi/buildflags/buildflags.h"
#include "ui/base/l10n/l10n_util.h"
#if BUILDFLAG(IS_WIN)
#include "base/win/windows_types.h"
#endif
PluginService;
void PluginObserver::BindPluginHost(
mojo::PendingAssociatedReceiver<chrome::mojom::PluginHost> receiver,
content::RenderFrameHost* rfh) { … }
PluginObserver::PluginObserver(content::WebContents* web_contents)
: … { … }
PluginObserver::~PluginObserver() = default;
void PluginObserver::PluginCrashed(const base::FilePath& plugin_path,
base::ProcessId plugin_pid) { … }
void PluginObserver::CreatePluginObserverInfoBar(
infobars::ContentInfoBarManager* infobar_manager,
const std::u16string& plugin_name) { … }
void PluginObserver::CouldNotLoadPlugin(const base::FilePath& plugin_path) { … }
void PluginObserver::OpenPDF(const GURL& url) { … }
WEB_CONTENTS_USER_DATA_KEY_IMPL(PluginObserver);