pepper_plugin_info.h revision ca12bfac764ba476d6cd062bf1dde12cc64c3f40
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_PUBLIC_COMMON_PEPPER_PLUGIN_INFO_H_ 6#define CONTENT_PUBLIC_COMMON_PEPPER_PLUGIN_INFO_H_ 7 8#include <string> 9#include <vector> 10 11#include "base/files/file_path.h" 12#include "content/common/content_export.h" 13#include "content/public/common/webplugininfo.h" 14#include "webkit/plugins/ppapi/plugin_module.h" 15 16namespace content { 17 18struct CONTENT_EXPORT PepperPluginInfo { 19 PepperPluginInfo(); 20 ~PepperPluginInfo(); 21 22 WebPluginInfo ToWebPluginInfo() const; 23 24 // Indicates internal plugins for which there's not actually a library. 25 // These plugins are implemented in the Chrome binary using a separate set 26 // of entry points (see internal_entry_points below). 27 // Defaults to false. 28 bool is_internal; 29 30 // True when this plugin should be run out of process. Defaults to false. 31 bool is_out_of_process; 32 33 // True when an out-of-process plugin should also be run within sandbox. 34 // Defaults to true. 35 bool is_sandboxed; 36 37 base::FilePath path; // Internal plugins have "internal-[name]" as path. 38 std::string name; 39 std::string description; 40 std::string version; 41 std::vector<WebPluginMimeType> mime_types; 42 43 // When is_internal is set, this contains the function pointers to the 44 // entry points for the internal plugins. 45 webkit::ppapi::PluginModule::EntryPoints internal_entry_points; 46 47 // Permission bits from ppapi::Permission. 48 uint32 permissions; 49}; 50 51} // namespace content 52 53#endif // CONTENT_PUBLIC_COMMON_PEPPER_PLUGIN_INFO_H_ 54