OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/renderer/pepper/pepper_helper.h" | 5 #include "chrome/renderer/pepper/pepper_helper.h" |
6 | 6 |
7 #include "chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h" | 7 #include "chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h" |
8 #include "chrome/renderer/pepper/pepper_shared_memory_message_filter.h" | 8 #include "chrome/renderer/pepper/pepper_shared_memory_message_filter.h" |
9 #include "content/public/renderer/renderer_ppapi_host.h" | 9 #include "content/public/renderer/renderer_ppapi_host.h" |
10 #include "ppapi/host/ppapi_host.h" | 10 #include "ppapi/host/ppapi_host.h" |
11 | 11 |
12 PepperHelper::PepperHelper(content::RenderFrame* render_frame) | 12 PepperHelper::PepperHelper(content::RenderFrame* render_frame) |
13 : RenderFrameObserver(render_frame) {} | 13 : RenderFrameObserver(render_frame) {} |
14 | 14 |
15 PepperHelper::~PepperHelper() {} | 15 PepperHelper::~PepperHelper() {} |
16 | 16 |
17 void PepperHelper::DidCreatePepperPlugin(content::RendererPpapiHost* host) { | 17 void PepperHelper::DidCreatePepperPlugin(content::RendererPpapiHost* host) { |
18 // TODO(brettw) figure out how to hook up the host factory. It needs some | 18 // TODO(brettw) figure out how to hook up the host factory. It needs some |
19 // kind of filter-like system to allow dynamic additions. | 19 // kind of filter-like system to allow dynamic additions. |
20 host->GetPpapiHost()->AddHostFactoryFilter( | 20 host->GetPpapiHost()->AddHostFactoryFilter( |
21 scoped_ptr<ppapi::host::HostFactory>( | 21 scoped_ptr<ppapi::host::HostFactory>( |
22 new ChromeRendererPepperHostFactory(host))); | 22 new ChromeRendererPepperHostFactory(host))); |
23 host->GetPpapiHost()->AddInstanceMessageFilter( | 23 host->GetPpapiHost()->AddInstanceMessageFilter( |
24 scoped_ptr<ppapi::host::InstanceMessageFilter>( | 24 scoped_ptr<ppapi::host::InstanceMessageFilter>( |
25 new PepperSharedMemoryMessageFilter(host))); | 25 new PepperSharedMemoryMessageFilter(host))); |
| 26 |
| 27 // The Native Client plugin is a host for external plugins. |
| 28 if (host->GetPluginName() == "Native Client") |
| 29 host->SetToExternalPluginHost(); |
26 } | 30 } |
OLD | NEW |