diff options
author | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-16 22:58:52 +0000 |
---|---|---|
committer | mpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-16 22:58:52 +0000 |
commit | efb07436b9ba4737247cdf0e8ba0529e27942468 (patch) | |
tree | 8a96f13f3af49c7c15efe3e3db3e1727100f52de /webkit/glue | |
parent | 39354f413433746b7f35135f85c1940210324eff (diff) | |
download | chromium_src-efb07436b9ba4737247cdf0e8ba0529e27942468.zip chromium_src-efb07436b9ba4737247cdf0e8ba0529e27942468.tar.gz chromium_src-efb07436b9ba4737247cdf0e8ba0529e27942468.tar.bz2 |
Changes to make it possible to statically link Gears. This is disabled by an
#ifdef.
This only partially works. Missing pieces:
- gears resources for HTML dialogs (permissions, shortcut, settings).
- able to compile with a non-official gears build.
Review URL: http://codereview.chromium.org/18299
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8238 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/plugins/plugin_lib_win.cc | 24 | ||||
-rw-r--r-- | webkit/glue/plugins/plugin_list.h | 1 | ||||
-rw-r--r-- | webkit/glue/plugins/plugin_list_win.cc | 10 |
3 files changed, 34 insertions, 1 deletions
diff --git a/webkit/glue/plugins/plugin_lib_win.cc b/webkit/glue/plugins/plugin_lib_win.cc index 423056a..a5a4aff 100644 --- a/webkit/glue/plugins/plugin_lib_win.cc +++ b/webkit/glue/plugins/plugin_lib_win.cc @@ -15,6 +15,13 @@ #include "webkit/glue/plugins/plugin_constants_win.h" #include "webkit/glue/plugins/plugin_list.h" +#ifdef GEARS_STATIC_LIB +// defined in gears/base/common/module.cc +NPError API_CALL Gears_NP_GetEntryPoints(NPPluginFuncs* funcs); +NPError API_CALL Gears_NP_Initialize(NPNetscapeFuncs* funcs); +NPError API_CALL Gears_NP_Shutdown(void); +#endif + namespace NPAPI { @@ -60,6 +67,21 @@ static const InternalPluginInfo g_internal_plugins[] = { default_plugin::NP_Initialize, default_plugin::NP_Shutdown }, +#ifdef GEARS_STATIC_LIB + { + {FilePath(kGearsPluginLibraryName), + L"Gears", + L"Statically linked Gears", + L"1, 0, 0, 1", + L"application/x-googlegears", + L"", + L"" + }, + Gears_NP_GetEntryPoints, + Gears_NP_Initialize, + Gears_NP_Shutdown + }, +#endif }; static const size_t g_internal_plugins_size = arraysize(g_internal_plugins); @@ -117,6 +139,8 @@ bool CreateWebPluginInfo(const PluginVersionInfo& pvi, SplitString(base::SysWideToNativeMB(pvi.file_extents), '|', &file_extensions); SplitString(pvi.file_open_names, '|', &descriptions); + info->mime_types.clear(); + if (mime_types.empty()) return false; diff --git a/webkit/glue/plugins/plugin_list.h b/webkit/glue/plugins/plugin_list.h index 088217e..3b1a76d 100644 --- a/webkit/glue/plugins/plugin_list.h +++ b/webkit/glue/plugins/plugin_list.h @@ -22,6 +22,7 @@ namespace NPAPI { #define kDefaultPluginLibraryName FILE_PATH_LITERAL("default_plugin") +#define kGearsPluginLibraryName FILE_PATH_LITERAL("gears") class PluginInstance; diff --git a/webkit/glue/plugins/plugin_list_win.cc b/webkit/glue/plugins/plugin_list_win.cc index bb81ddc..94dcce3 100644 --- a/webkit/glue/plugins/plugin_list_win.cc +++ b/webkit/glue/plugins/plugin_list_win.cc @@ -324,10 +324,18 @@ bool PluginList::ShouldLoadPlugin(const WebPluginInfo& info) { } void PluginList::LoadInternalPlugins() { + WebPluginInfo info; + + #ifdef GEARS_STATIC_LIB + if (PluginLib::ReadWebPluginInfo(FilePath(kGearsPluginLibraryName), + &info)) { + plugins_.push_back(info); + } +#endif + if (!use_internal_activex_shim_) return; - WebPluginInfo info; if (PluginLib::ReadWebPluginInfo(FilePath(kActiveXShimFileName), &info)) { plugins_.push_back(info); |