summaryrefslogtreecommitdiffstats
path: root/chrome/common/chrome_content_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/chrome_content_client.cc')
-rw-r--r--chrome/common/chrome_content_client.cc46
1 files changed, 46 insertions, 0 deletions
diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc
index da07553..12a3d02 100644
--- a/chrome/common/chrome_content_client.cc
+++ b/chrome/common/chrome_content_client.cc
@@ -51,6 +51,16 @@ const char kNaClPluginDescription[] = "Native Client Executable";
const char kNaClOldPluginName[] = "Chrome NaCl";
+const char kO3DPluginName[] = "Google Talk Plugin Video Accelerator";
+const char kO3DPluginMimeType[] ="application/vnd.o3d.auto";
+const char kO3DPluginExtension[] = "";
+const char kO3DPluginDescription[] = "O3D MIME";
+
+const char kGTalkPluginName[] = "Google Talk Plugin";
+const char kGTalkPluginMimeType[] ="application/googletalk";
+const char kGTalkPluginExtension[] = ".googletalk";
+const char kGTalkPluginDescription[] = "Google Talk Plugin";
+
#if defined(ENABLE_REMOTING)
const char kRemotingViewerPluginName[] = "Remoting Viewer";
const FilePath::CharType kRemotingViewerPluginPath[] =
@@ -117,6 +127,42 @@ void ComputeBuiltInPlugins(std::vector<content::PepperPluginInfo>* plugins) {
}
}
+ static bool skip_o3d_file_check = false;
+ if (PathService::Get(chrome::FILE_O3D_PLUGIN, &path)) {
+ if (skip_o3d_file_check || file_util::PathExists(path)) {
+ content::PepperPluginInfo o3d;
+ o3d.path = path;
+ o3d.name = kO3DPluginName;
+ o3d.is_out_of_process = true;
+ o3d.is_sandboxed = false;
+ webkit::WebPluginMimeType o3d_mime_type(kO3DPluginMimeType,
+ kO3DPluginExtension,
+ kO3DPluginDescription);
+ o3d.mime_types.push_back(o3d_mime_type);
+ plugins->push_back(o3d);
+
+ skip_o3d_file_check = true;
+ }
+ }
+
+ static bool skip_gtalk_file_check = false;
+ if (PathService::Get(chrome::FILE_GTALK_PLUGIN, &path)) {
+ if (skip_gtalk_file_check || file_util::PathExists(path)) {
+ content::PepperPluginInfo gtalk;
+ gtalk.path = path;
+ gtalk.name = kGTalkPluginName;
+ gtalk.is_out_of_process = true;
+ gtalk.is_sandboxed = false;
+ webkit::WebPluginMimeType gtalk_mime_type(kGTalkPluginMimeType,
+ kGTalkPluginExtension,
+ kGTalkPluginDescription);
+ gtalk.mime_types.push_back(gtalk_mime_type);
+ plugins->push_back(gtalk);
+
+ skip_gtalk_file_check = true;
+ }
+ }
+
// The Remoting Viewer plugin is built-in.
#if defined(ENABLE_REMOTING)
content::PepperPluginInfo info;