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..a0c817daabcf7b3a8474cc9d540080bd4d617ee4 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 HostT> |
yzshen1
2013/04/08 21:05:16
nit: It seems better to use full name HostType.
victorhsieh
2013/04/08 23:44:38
Done.
|
+const HostT* GetRendererResourceHost( |
+ PP_Instance instance, PP_Resource resource) { |
+ const ppapi::host::PpapiHost* ppapi_host = |
+ RendererPpapiHost::GetForPPInstance(instance)->GetPpapiHost(); |
+ if (!resource|| !ppapi_host) |
yzshen1
2013/04/08 21:05:16
Missing space before ||.
victorhsieh
2013/04/08 23:44:38
Done.
|
+ return NULL; |
+ return static_cast<HostT*>(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; |
+} |
+ |
+std::string PepperPluginDelegateImpl::GetFileSystemRootUrl( |
+ PP_Instance instance, PP_Resource resource) const { |
+ const PepperFileSystemHost* host = |
+ GetRendererResourceHost<PepperFileSystemHost>(instance, resource); |
+ return host ? host->GetRootUrl() : ""; |
yzshen1
2013/04/08 21:05:16
nit: please use std::string() instead of "".
victorhsieh
2013/04/08 23:44:38
Done.
|
} |
bool PepperPluginDelegateImpl::MakeDirectory( |