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

Side by Side Diff: webkit/glue/plugins/plugin_lib_win.cc

Issue 18299: Changes to make it possible to statically link Gears. This is disabled by an... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 11 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 | « gears/SConscript.browser ('k') | webkit/glue/plugins/plugin_list.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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "config.h" 5 #include "config.h"
6 6
7 #include "webkit/glue/plugins/plugin_lib.h" 7 #include "webkit/glue/plugins/plugin_lib.h"
8 8
9 #include "base/file_version_info.h" 9 #include "base/file_version_info.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
11 #include "base/string_util.h" 11 #include "base/string_util.h"
12 #include "base/sys_string_conversions.h" 12 #include "base/sys_string_conversions.h"
13 #include "webkit/activex_shim/npp_impl.h" 13 #include "webkit/activex_shim/npp_impl.h"
14 #include "webkit/default_plugin/plugin_main.h" 14 #include "webkit/default_plugin/plugin_main.h"
15 #include "webkit/glue/plugins/plugin_constants_win.h" 15 #include "webkit/glue/plugins/plugin_constants_win.h"
16 #include "webkit/glue/plugins/plugin_list.h" 16 #include "webkit/glue/plugins/plugin_list.h"
17 17
18 #ifdef GEARS_STATIC_LIB
19 // defined in gears/base/common/module.cc
20 NPError API_CALL Gears_NP_GetEntryPoints(NPPluginFuncs* funcs);
21 NPError API_CALL Gears_NP_Initialize(NPNetscapeFuncs* funcs);
22 NPError API_CALL Gears_NP_Shutdown(void);
23 #endif
24
18 namespace NPAPI 25 namespace NPAPI
19 { 26 {
20 27
21 static const InternalPluginInfo g_internal_plugins[] = { 28 static const InternalPluginInfo g_internal_plugins[] = {
22 { 29 {
23 {FilePath(kActiveXShimFileName), 30 {FilePath(kActiveXShimFileName),
24 L"ActiveX Plug-in", 31 L"ActiveX Plug-in",
25 L"ActiveX Plug-in provides a shim to support ActiveX controls", 32 L"ActiveX Plug-in provides a shim to support ActiveX controls",
26 L"1, 0, 0, 1", 33 L"1, 0, 0, 1",
27 L"application/x-oleobject|application/oleobject", 34 L"application/x-oleobject|application/oleobject",
(...skipping 25 matching lines...) Expand all
53 L"Provides functionality for installing third-party plug-ins", 60 L"Provides functionality for installing third-party plug-ins",
54 L"1, 0, 0, 1", 61 L"1, 0, 0, 1",
55 L"*", 62 L"*",
56 L"", 63 L"",
57 L"" 64 L""
58 }, 65 },
59 default_plugin::NP_GetEntryPoints, 66 default_plugin::NP_GetEntryPoints,
60 default_plugin::NP_Initialize, 67 default_plugin::NP_Initialize,
61 default_plugin::NP_Shutdown 68 default_plugin::NP_Shutdown
62 }, 69 },
70 #ifdef GEARS_STATIC_LIB
71 {
72 {FilePath(kGearsPluginLibraryName),
73 L"Gears",
74 L"Statically linked Gears",
75 L"1, 0, 0, 1",
76 L"application/x-googlegears",
77 L"",
78 L""
79 },
80 Gears_NP_GetEntryPoints,
81 Gears_NP_Initialize,
82 Gears_NP_Shutdown
83 },
84 #endif
63 }; 85 };
64 86
65 static const size_t g_internal_plugins_size = arraysize(g_internal_plugins); 87 static const size_t g_internal_plugins_size = arraysize(g_internal_plugins);
66 88
67 /* static */ 89 /* static */
68 void PluginLib::GetInternalPlugins(const InternalPluginInfo** plugins, 90 void PluginLib::GetInternalPlugins(const InternalPluginInfo** plugins,
69 size_t* count) { 91 size_t* count) {
70 *plugins = g_internal_plugins; 92 *plugins = g_internal_plugins;
71 *count = g_internal_plugins_size; 93 *count = g_internal_plugins_size;
72 } 94 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 // Creates WebPluginInfo structure based on read in or built in 132 // Creates WebPluginInfo structure based on read in or built in
111 // PluginVersionInfo. 133 // PluginVersionInfo.
112 bool CreateWebPluginInfo(const PluginVersionInfo& pvi, 134 bool CreateWebPluginInfo(const PluginVersionInfo& pvi,
113 WebPluginInfo* info) { 135 WebPluginInfo* info) {
114 std::vector<std::string> mime_types, file_extensions; 136 std::vector<std::string> mime_types, file_extensions;
115 std::vector<std::wstring> descriptions; 137 std::vector<std::wstring> descriptions;
116 SplitString(base::SysWideToNativeMB(pvi.mime_types), '|', &mime_types); 138 SplitString(base::SysWideToNativeMB(pvi.mime_types), '|', &mime_types);
117 SplitString(base::SysWideToNativeMB(pvi.file_extents), '|', &file_extensions); 139 SplitString(base::SysWideToNativeMB(pvi.file_extents), '|', &file_extensions);
118 SplitString(pvi.file_open_names, '|', &descriptions); 140 SplitString(pvi.file_open_names, '|', &descriptions);
119 141
142 info->mime_types.clear();
143
120 if (mime_types.empty()) 144 if (mime_types.empty())
121 return false; 145 return false;
122 146
123 info->name = pvi.product_name; 147 info->name = pvi.product_name;
124 info->desc = pvi.file_description; 148 info->desc = pvi.file_description;
125 info->version = pvi.file_version; 149 info->version = pvi.file_version;
126 info->path = FilePath(pvi.path); 150 info->path = FilePath(pvi.path);
127 151
128 for (size_t i = 0; i < mime_types.size(); ++i) { 152 for (size_t i = 0; i < mime_types.size(); ++i) {
129 WebPluginMimeType mime_type; 153 WebPluginMimeType mime_type;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 pvi.product_name = version_info->product_name(); 200 pvi.product_name = version_info->product_name();
177 pvi.file_description = version_info->file_description(); 201 pvi.file_description = version_info->file_description();
178 pvi.file_version = version_info->file_version(); 202 pvi.file_version = version_info->file_version();
179 pvi.path = filename; 203 pvi.path = filename;
180 204
181 return CreateWebPluginInfo(pvi, info); 205 return CreateWebPluginInfo(pvi, info);
182 } 206 }
183 207
184 } // namespace NPAPI 208 } // namespace NPAPI
185 209
OLDNEW
« no previous file with comments | « gears/SConscript.browser ('k') | webkit/glue/plugins/plugin_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698