Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(665)

Side by Side Diff: webkit/plugins/webplugininfo.h

Issue 19894003: Move webplugininfo.h to content/public. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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 #ifndef WEBKIT_PLUGINS_WEBPLUGININFO_H_
6 #define WEBKIT_PLUGINS_WEBPLUGININFO_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "base/files/file_path.h"
13
14 namespace base {
15 class Version;
16 }
17
18 namespace webkit {
19
20 struct WebPluginMimeType {
21 WebPluginMimeType();
22 // A constructor for the common case of a single file extension and an ASCII
23 // description.
24 WebPluginMimeType(const std::string& m,
25 const std::string& f,
26 const std::string& d);
27 ~WebPluginMimeType();
28
29 // The name of the mime type (e.g., "application/x-shockwave-flash").
30 std::string mime_type;
31
32 // A list of all the file extensions for this mime type.
33 std::vector<std::string> file_extensions;
34
35 // Description of the mime type.
36 base::string16 description;
37
38 // Extra parameters to include when instantiating the plugin.
39 std::vector<base::string16> additional_param_names;
40 std::vector<base::string16> additional_param_values;
41 };
42
43 // Describes an available NPAPI or Pepper plugin.
44 struct WebPluginInfo {
45 enum PluginType {
46 PLUGIN_TYPE_NPAPI,
47 PLUGIN_TYPE_PEPPER_IN_PROCESS,
48 PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS,
49 PLUGIN_TYPE_PEPPER_UNSANDBOXED
50 };
51
52 WebPluginInfo();
53 WebPluginInfo(const WebPluginInfo& rhs);
54 ~WebPluginInfo();
55 WebPluginInfo& operator=(const WebPluginInfo& rhs);
56
57 // Special constructor only used during unit testing:
58 WebPluginInfo(const base::string16& fake_name,
59 const base::FilePath& fake_path,
60 const base::string16& fake_version,
61 const base::string16& fake_desc);
62
63 bool is_pepper_plugin() const {
64 return ((type == PLUGIN_TYPE_PEPPER_IN_PROCESS ) ||
65 (type == PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS) ||
66 (type == PLUGIN_TYPE_PEPPER_UNSANDBOXED));
67 }
68
69 // Parse a version string as used by a plug-in. This method is more lenient
70 // in accepting weird version strings than base::Version::GetFromString()
71 static void CreateVersionFromString(const base::string16& version_string,
72 base::Version* parsed_version);
73
74 // The name of the plugin (i.e. Flash).
75 base::string16 name;
76
77 // The path to the plugin file (DLL/bundle/library).
78 base::FilePath path;
79
80 // The version number of the plugin file (may be OS-specific)
81 base::string16 version;
82
83 // A description of the plugin that we get from its version info.
84 base::string16 desc;
85
86 // A list of all the mime types that this plugin supports.
87 std::vector<WebPluginMimeType> mime_types;
88
89 // Plugin type. See the PluginType enum.
90 int type;
91
92 // When type is PLUGIN_TYPE_PEPPER_* this indicates the permission bits.
93 int32 pepper_permissions;
94 };
95
96 } // namespace webkit
97
98 #endif // WEBKIT_PLUGINS_WEBPLUGININFO_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698