| Index: chrome/common/chrome_content_client.cc
|
| diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc
|
| index b9367f66233d70f2b4c576871ea49524e70decdd..428298350f0280955ef4e7fe9cd2e1ce0cfed5d4 100644
|
| --- a/chrome/common/chrome_content_client.cc
|
| +++ b/chrome/common/chrome_content_client.cc
|
| @@ -65,11 +65,17 @@ const uint32 kPDFPluginPermissions = ppapi::PERMISSION_PRIVATE |
|
| ppapi::PERMISSION_DEV;
|
|
|
| const char kNaClPluginMimeType[] = "application/x-nacl";
|
| -const char kNaClPluginExtension[] = "nexe";
|
| +const char kNaClPluginExtension[] = "";
|
| const char kNaClPluginDescription[] = "Native Client Executable";
|
| const uint32 kNaClPluginPermissions = ppapi::PERMISSION_PRIVATE |
|
| ppapi::PERMISSION_DEV;
|
|
|
| +const char kPnaclPluginMimeType[] = "application/x-pnacl";
|
| +const char kPnaclPluginExtension[] = "";
|
| +const char kPnaclPluginDescription[] = "Portable Native Client Executable";
|
| +const uint32 kPnaclPluginPermissions = ppapi::PERMISSION_PRIVATE |
|
| + ppapi::PERMISSION_DEV;
|
| +
|
| const char kO3DPluginName[] = "Google Talk Plugin Video Accelerator";
|
| const char kO3DPluginMimeType[] ="application/vnd.o3d.auto";
|
| const char kO3DPluginExtension[] = "";
|
| @@ -152,9 +158,11 @@ void ComputeBuiltInPlugins(std::vector<content::PepperPluginInfo>* plugins) {
|
| }
|
|
|
| // Handle the Native Client just like the PDF plugin. This means that it is
|
| - // enabled by default. This allows apps installed from the Chrome Web Store
|
| - // to use NaCl even if the command line switch isn't set. For other uses of
|
| - // NaCl we check for the command line switch.
|
| + // enabled by default for the non-portable case. This allows apps installed
|
| + // from the Chrome Web Store to use NaCl even if the command line switch
|
| + // isn't set. For other uses of NaCl we check for the command line switch.
|
| + // Specifically, Portable Native Client is only enabled by the command line
|
| + // switch.
|
| static bool skip_nacl_file_check = false;
|
| if (PathService::Get(chrome::FILE_NACL_PLUGIN, &path)) {
|
| if (skip_nacl_file_check || file_util::PathExists(path)) {
|
| @@ -165,6 +173,12 @@ void ComputeBuiltInPlugins(std::vector<content::PepperPluginInfo>* plugins) {
|
| kNaClPluginExtension,
|
| kNaClPluginDescription);
|
| nacl.mime_types.push_back(nacl_mime_type);
|
| + if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnablePnacl)) {
|
| + webkit::WebPluginMimeType pnacl_mime_type(kPnaclPluginMimeType,
|
| + kPnaclPluginExtension,
|
| + kPnaclPluginDescription);
|
| + nacl.mime_types.push_back(pnacl_mime_type);
|
| + }
|
| nacl.permissions = kNaClPluginPermissions;
|
| plugins->push_back(nacl);
|
|
|
|
|