electron/shell/browser/electron_plugin_info_host_impl.h
electron-roller[bot] c9b7806418
chore: bump chromium to 129.0.6650.0 (main) (#43266)
* chore: bump chromium in DEPS to 129.0.6645.0

* chore: update patches

* chore: bump chromium in DEPS to 129.0.6646.0

* refactor: remove ppapi dependency

PPAPI removal - https://issues.chromium.org/issues/40511450
PDF viewer migration - https://issues.chromium.org/issues/40511452

* chore: update patches

* chore: enable `content_enable_legacy_ipc`

We were indirectly relying on this via `enable_ppapi=true`, with
633a57d9b62da7850ef7946f6b101ed440d04cdd ppapi is now disabled and
this commit makes the dependency explicit.

* fix: gn check

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
2024-08-12 10:28:33 +02:00

56 lines
1.6 KiB
C++

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SHELL_BROWSER_ELECTRON_PLUGIN_INFO_HOST_IMPL_H_
#define SHELL_BROWSER_ELECTRON_PLUGIN_INFO_HOST_IMPL_H_
#include <string>
#include <vector>
#include "shell/common/plugin.mojom.h"
class GURL;
namespace content {
struct WebPluginInfo;
} // namespace content
namespace url {
class Origin;
}
namespace electron {
// Implements ElectronPluginInfoHost interface.
class ElectronPluginInfoHostImpl : public mojom::ElectronPluginInfoHost {
public:
struct GetPluginInfo_Params;
ElectronPluginInfoHostImpl();
ElectronPluginInfoHostImpl(const ElectronPluginInfoHostImpl&) = delete;
ElectronPluginInfoHostImpl& operator=(const ElectronPluginInfoHostImpl&) =
delete;
~ElectronPluginInfoHostImpl() override;
// mojom::ElectronPluginInfoHost
void GetPluginInfo(const GURL& url,
const url::Origin& origin,
const std::string& mime_type,
GetPluginInfoCallback callback) override;
private:
// |params| wraps the parameters passed to |OnGetPluginInfo|, because
// |base::Bind| doesn't support the required arity <http://crbug.com/98542>.
void PluginsLoaded(const GetPluginInfo_Params& params,
GetPluginInfoCallback callback,
const std::vector<content::WebPluginInfo>& plugins);
base::WeakPtrFactory<ElectronPluginInfoHostImpl> weak_factory_{this};
};
} // namespace electron
#endif // SHELL_BROWSER_ELECTRON_PLUGIN_INFO_HOST_IMPL_H_