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

Side by Side Diff: content/common/pepper_plugin_registry.cc

Issue 7648017: Make WebPluginInfo more generic (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 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
« no previous file with comments | « content/common/pepper_plugin_registry.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/pepper_plugin_registry.h" 5 #include "content/common/pepper_plugin_registry.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/native_library.h" 9 #include "base/native_library.h"
10 #include "base/string_split.h" 10 #include "base/string_split.h"
(...skipping 15 matching lines...) Expand all
26 switches::kRegisterPepperPlugins); 26 switches::kRegisterPepperPlugins);
27 if (value.empty()) 27 if (value.empty())
28 return; 28 return;
29 29
30 // FORMAT: 30 // FORMAT:
31 // command-line = <plugin-entry> + *( LWS + "," + LWS + <plugin-entry> ) 31 // command-line = <plugin-entry> + *( LWS + "," + LWS + <plugin-entry> )
32 // plugin-entry = 32 // plugin-entry =
33 // <file-path> + 33 // <file-path> +
34 // ["#" + <name> + ["#" + <description> + ["#" + <version>]]] + 34 // ["#" + <name> + ["#" + <description> + ["#" + <version>]]] +
35 // *1( LWS + ";" + LWS + <mime-type> ) 35 // *1( LWS + ";" + LWS + <mime-type> )
36
37 std::vector<std::string> modules; 36 std::vector<std::string> modules;
38 base::SplitString(value, ',', &modules); 37 base::SplitString(value, ',', &modules);
39 for (size_t i = 0; i < modules.size(); ++i) { 38 for (size_t i = 0; i < modules.size(); ++i) {
40 std::vector<std::string> parts; 39 std::vector<std::string> parts;
41 base::SplitString(modules[i], ';', &parts); 40 base::SplitString(modules[i], ';', &parts);
42 if (parts.size() < 2) { 41 if (parts.size() < 2) {
43 DLOG(ERROR) << "Required mime-type not found"; 42 DLOG(ERROR) << "Required mime-type not found";
44 continue; 43 continue;
45 } 44 }
46 45
(...skipping 10 matching lines...) Expand all
57 #else 56 #else
58 plugin.path = FilePath(name_parts[0]); 57 plugin.path = FilePath(name_parts[0]);
59 #endif 58 #endif
60 if (name_parts.size() > 1) 59 if (name_parts.size() > 1)
61 plugin.name = name_parts[1]; 60 plugin.name = name_parts[1];
62 if (name_parts.size() > 2) 61 if (name_parts.size() > 2)
63 plugin.description = name_parts[2]; 62 plugin.description = name_parts[2];
64 if (name_parts.size() > 3) 63 if (name_parts.size() > 3)
65 plugin.version = name_parts[3]; 64 plugin.version = name_parts[3];
66 for (size_t j = 1; j < parts.size(); ++j) { 65 for (size_t j = 1; j < parts.size(); ++j) {
67 webkit::npapi::WebPluginMimeType mime_type(parts[j], 66 webkit::WebPluginMimeType mime_type(parts[j],
68 std::string(), 67 std::string(),
69 plugin.description); 68 plugin.description);
70 plugin.mime_types.push_back(mime_type); 69 plugin.mime_types.push_back(mime_type);
71 } 70 }
72 71
73 plugins->push_back(plugin); 72 plugins->push_back(plugin);
74 } 73 }
75 } 74 }
76 75
77 } // namespace 76 } // namespace
78 77
79 webkit::npapi::WebPluginInfo PepperPluginInfo::ToWebPluginInfo() const { 78 webkit::WebPluginInfo PepperPluginInfo::ToWebPluginInfo() const {
80 webkit::npapi::WebPluginInfo info; 79 webkit::WebPluginInfo info;
81 80
82 info.name = name.empty() ? path.BaseName().LossyDisplayName() : 81 info.name = name.empty() ? path.BaseName().LossyDisplayName() :
83 ASCIIToUTF16(name); 82 ASCIIToUTF16(name);
84 info.path = path; 83 info.path = path;
85 info.version = ASCIIToUTF16(version); 84 info.version = ASCIIToUTF16(version);
86 info.desc = ASCIIToUTF16(description); 85 info.desc = ASCIIToUTF16(description);
87 info.mime_types = mime_types; 86 info.mime_types = mime_types;
88 87
89 webkit::npapi::WebPluginInfo::EnabledStates enabled_state = 88 webkit::WebPluginInfo::EnabledStates enabled_state =
90 webkit::npapi::WebPluginInfo::USER_ENABLED_POLICY_UNMANAGED; 89 webkit::WebPluginInfo::USER_ENABLED_POLICY_UNMANAGED;
91 90
92 if (!enabled) { 91 if (!enabled) {
93 enabled_state = 92 enabled_state =
94 webkit::npapi::WebPluginInfo::USER_DISABLED_POLICY_UNMANAGED; 93 webkit::WebPluginInfo::USER_DISABLED_POLICY_UNMANAGED;
95 } 94 }
96 95
97 info.enabled = enabled_state; 96 info.enabled = enabled_state;
98 return info; 97 return info;
99 } 98 }
100 99
101 PepperPluginInfo::PepperPluginInfo() 100 PepperPluginInfo::PepperPluginInfo()
102 : is_internal(false), 101 : is_internal(false),
103 is_out_of_process(false), 102 is_out_of_process(false),
104 enabled(true) { 103 enabled(true) {
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 base::MessageLoopProxy* PepperPluginRegistry::GetIPCMessageLoop() { 221 base::MessageLoopProxy* PepperPluginRegistry::GetIPCMessageLoop() {
223 // This is called only in the renderer so we know we have a child process. 222 // This is called only in the renderer so we know we have a child process.
224 DCHECK(ChildProcess::current()) << "Must be in the renderer."; 223 DCHECK(ChildProcess::current()) << "Must be in the renderer.";
225 return ChildProcess::current()->io_message_loop_proxy(); 224 return ChildProcess::current()->io_message_loop_proxy();
226 } 225 }
227 226
228 base::WaitableEvent* PepperPluginRegistry::GetShutdownEvent() { 227 base::WaitableEvent* PepperPluginRegistry::GetShutdownEvent() {
229 DCHECK(ChildProcess::current()) << "Must be in the renderer."; 228 DCHECK(ChildProcess::current()) << "Must be in the renderer.";
230 return ChildProcess::current()->GetShutDownEvent(); 229 return ChildProcess::current()->GetShutDownEvent();
231 } 230 }
OLDNEW
« no previous file with comments | « content/common/pepper_plugin_registry.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698