#ifndef CONTENT_PUBLIC_COMMON_WEBPLUGININFO_H_
#define CONTENT_PUBLIC_COMMON_WEBPLUGININFO_H_
#include <stdint.h>
#include <string>
#include <vector>
#include "base/files/file_path.h"
#include "content/common/content_export.h"
#include "third_party/skia/include/core/SkColor.h"
namespace content {
struct CONTENT_EXPORT WebPluginMimeType {
WebPluginMimeType();
WebPluginMimeType(const std::string& m,
const std::string& f,
const std::string& d);
WebPluginMimeType(const WebPluginMimeType& other);
~WebPluginMimeType();
std::string mime_type;
std::vector<std::string> file_extensions;
std::u16string description;
struct Param {
Param() = default;
Param(std::u16string n, std::u16string v)
: name(std::move(n)), value(std::move(v)) {}
std::u16string name;
std::u16string value;
};
std::vector<Param> additional_params;
};
struct CONTENT_EXPORT WebPluginInfo {
enum PluginType {
PLUGIN_TYPE_BROWSER_INTERNAL_PLUGIN,
PLUGIN_TYPE_BROWSER_PLUGIN
};
static constexpr SkColor kDefaultBackgroundColor = SkColorSetRGB(38, 38, 38);
WebPluginInfo();
WebPluginInfo(const WebPluginInfo& rhs);
~WebPluginInfo();
WebPluginInfo& operator=(const WebPluginInfo& rhs);
WebPluginInfo(const std::u16string& fake_name,
const base::FilePath& fake_path,
const std::u16string& fake_version,
const std::u16string& fake_desc);
std::u16string name;
base::FilePath path;
std::u16string version;
std::u16string desc;
std::vector<WebPluginMimeType> mime_types;
int type = PLUGIN_TYPE_BROWSER_PLUGIN;
SkColor background_color = kDefaultBackgroundColor;
};
}
#endif