• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 #include "content/public/common/pepper_plugin_info.h"
6 
7 #include "base/strings/utf_string_conversions.h"
8 
9 namespace content {
10 
EntryPoints()11 PepperPluginInfo::EntryPoints::EntryPoints()
12     : get_interface(NULL),
13       initialize_module(NULL),
14       shutdown_module(NULL) {
15 }
16 
PepperPluginInfo()17 PepperPluginInfo::PepperPluginInfo()
18     : is_internal(false),
19       is_out_of_process(false),
20       is_sandboxed(true),
21       permissions(0) {
22 }
23 
~PepperPluginInfo()24 PepperPluginInfo::~PepperPluginInfo() {
25 }
26 
ToWebPluginInfo() const27 WebPluginInfo PepperPluginInfo::ToWebPluginInfo() const {
28   WebPluginInfo info;
29 
30   info.type = is_out_of_process ?
31       (is_sandboxed ?
32         WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS :
33         WebPluginInfo::PLUGIN_TYPE_PEPPER_UNSANDBOXED) :
34       WebPluginInfo::PLUGIN_TYPE_PEPPER_IN_PROCESS;
35 
36   info.name = name.empty() ?
37       path.BaseName().LossyDisplayName() : base::UTF8ToUTF16(name);
38   info.path = path;
39   info.version = base::ASCIIToUTF16(version);
40   info.desc = base::ASCIIToUTF16(description);
41   info.mime_types = mime_types;
42   info.pepper_permissions = permissions;
43 
44   return info;
45 }
46 
47 }  // namespace content
48