summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authormpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-16 22:58:52 +0000
committermpcomplete@google.com <mpcomplete@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-16 22:58:52 +0000
commitefb07436b9ba4737247cdf0e8ba0529e27942468 (patch)
tree8a96f13f3af49c7c15efe3e3db3e1727100f52de /webkit/glue
parent39354f413433746b7f35135f85c1940210324eff (diff)
downloadchromium_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.cc24
-rw-r--r--webkit/glue/plugins/plugin_list.h1
-rw-r--r--webkit/glue/plugins/plugin_list_win.cc10
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);