| Index: content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| diff --git a/content/renderer/pepper/pepper_plugin_delegate_impl.cc b/content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| index d2be7ccb80dc8d3e576f38d2d4118ac9ed7013ce..98cfb770231f2f417ef12ed61ca906c30033c7d0 100644
|
| --- a/content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| +++ b/content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| @@ -43,6 +43,7 @@
|
| #include "content/renderer/pepper/content_renderer_pepper_host_factory.h"
|
| #include "content/renderer/pepper/pepper_broker_impl.h"
|
| #include "content/renderer/pepper/pepper_device_enumeration_event_handler.h"
|
| +#include "content/renderer/pepper/pepper_file_system_host.h"
|
| #include "content/renderer/pepper/pepper_hung_plugin_filter.h"
|
| #include "content/renderer/pepper/pepper_in_process_resource_creation.h"
|
| #include "content/renderer/pepper/pepper_platform_audio_input_impl.h"
|
| @@ -340,6 +341,16 @@ void CreateHostForInProcessModule(RenderViewImpl* render_view,
|
| render_view->PpapiPluginCreated(host_impl);
|
| }
|
|
|
| +template <typename HostType>
|
| +const HostType* GetRendererResourceHost(
|
| + PP_Instance instance, PP_Resource resource) {
|
| + const ppapi::host::PpapiHost* ppapi_host =
|
| + RendererPpapiHost::GetForPPInstance(instance)->GetPpapiHost();
|
| + if (!resource || !ppapi_host)
|
| + return NULL;
|
| + return static_cast<HostType*>(ppapi_host->GetResourceHost(resource));
|
| +}
|
| +
|
| } // namespace
|
|
|
| PepperPluginDelegateImpl::PepperPluginDelegateImpl(RenderViewImpl* render_view)
|
| @@ -1016,15 +1027,25 @@ void PepperPluginDelegateImpl::WillHandleMouseEvent() {
|
| last_mouse_event_target_ = NULL;
|
| }
|
|
|
| -bool PepperPluginDelegateImpl::OpenFileSystem(
|
| - const GURL& origin_url,
|
| - fileapi::FileSystemType type,
|
| - long long size,
|
| - fileapi::FileSystemCallbackDispatcher* dispatcher) {
|
| - FileSystemDispatcher* file_system_dispatcher =
|
| - ChildThread::current()->file_system_dispatcher();
|
| - return file_system_dispatcher->OpenFileSystem(
|
| - origin_url, type, size, true /* create */, dispatcher);
|
| +bool PepperPluginDelegateImpl::IsFileSystemOpened(PP_Instance instance,
|
| + PP_Resource resource) const {
|
| + const PepperFileSystemHost* host =
|
| + GetRendererResourceHost<PepperFileSystemHost>(instance, resource);
|
| + return host && host->IsOpened();
|
| +}
|
| +
|
| +PP_FileSystemType PepperPluginDelegateImpl::GetFileSystemType(
|
| + PP_Instance instance, PP_Resource resource) const {
|
| + const PepperFileSystemHost* host =
|
| + GetRendererResourceHost<PepperFileSystemHost>(instance, resource);
|
| + return host ? host->GetType() : PP_FILESYSTEMTYPE_INVALID;
|
| +}
|
| +
|
| +GURL PepperPluginDelegateImpl::GetFileSystemRootUrl(
|
| + PP_Instance instance, PP_Resource resource) const {
|
| + const PepperFileSystemHost* host =
|
| + GetRendererResourceHost<PepperFileSystemHost>(instance, resource);
|
| + return host ? host->GetRootUrl() : GURL();
|
| }
|
|
|
| bool PepperPluginDelegateImpl::MakeDirectory(
|
|
|