Index: content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
diff --git a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
index b66ff880259e1675e749fbc5bd4e61301a2d40c7..b51a51c43c0df5e56fa6f75d683033ace0364604 100644 |
--- a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
+++ b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
@@ -5,11 +5,13 @@ |
#include "content/browser/renderer_host/pepper/content_browser_pepper_host_factory.h" |
#include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h" |
+#include "content/browser/renderer_host/pepper/pepper_flash_file_host.h" |
#include "content/browser/renderer_host/pepper/pepper_gamepad_host.h" |
#include "content/browser/renderer_host/pepper/pepper_print_settings_manager.h" |
#include "content/browser/renderer_host/pepper/pepper_printing_host.h" |
#include "ppapi/host/resource_host.h" |
#include "ppapi/proxy/ppapi_messages.h" |
+#include "ppapi/shared_impl/ppapi_permissions.h" |
using ppapi::host::ResourceHost; |
@@ -54,7 +56,22 @@ scoped_ptr<ResourceHost> ContentBrowserPepperHostFactory::CreateResourceHost( |
} |
} |
} |
+ |
+ // Resources for Flash interfaces. |
+ if (GetPermissions().HasPermission(ppapi::PERMISSION_FLASH)) { |
+ switch (message.type()) { |
+ case PpapiHostMsg_FlashFile_Create::ID: |
+ return scoped_ptr<ResourceHost>(new PepperFlashFileHost( |
+ host_, instance, params.pp_resource())); |
+ } |
+ } |
+ |
return scoped_ptr<ResourceHost>(); |
} |
+const ppapi::PpapiPermissions& |
+ContentBrowserPepperHostFactory::GetPermissions() const { |
+ return host_->GetPpapiHost()->permissions(); |
+} |
+ |
} // namespace content |