15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/common/pepper_plugin_info.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "base/strings/utf_string_conversions.h"
8ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben MurdochPepperPluginInfo::EntryPoints::EntryPoints()
12bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch    : get_interface(NULL),
13bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch      initialize_module(NULL),
14bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch      shutdown_module(NULL) {
15bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch}
16bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PepperPluginInfo::PepperPluginInfo()
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : is_internal(false),
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      is_out_of_process(false),
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      is_sandboxed(true),
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      permissions(0) {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PepperPluginInfo::~PepperPluginInfo() {
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
27ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben MurdochWebPluginInfo PepperPluginInfo::ToWebPluginInfo() const {
28ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  WebPluginInfo info;
29ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
30ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  info.type = is_out_of_process ?
31ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch      (is_sandboxed ?
32ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch        WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS :
33ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch        WebPluginInfo::PLUGIN_TYPE_PEPPER_UNSANDBOXED) :
34ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch      WebPluginInfo::PLUGIN_TYPE_PEPPER_IN_PROCESS;
35ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
36ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  info.name = name.empty() ?
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      path.BaseName().LossyDisplayName() : base::UTF8ToUTF16(name);
38ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  info.path = path;
395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  info.version = base::ASCIIToUTF16(version);
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  info.desc = base::ASCIIToUTF16(description);
41ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  info.mime_types = mime_types;
42ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  info.pepper_permissions = permissions;
43ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
44ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch  return info;
45ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch}
46ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace content
48