Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2043)

Unified Diff: content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc

Issue 11617005: Refactor PepperFlashFileHost and PepperBrokerHost to use MessageFilterHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
diff --git a/content/browser/renderer_host/pepper/pepper_flash_file_host.cc b/content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
similarity index 76%
rename from content/browser/renderer_host/pepper/pepper_flash_file_host.cc
rename to content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
index f4dc898ee21a42008a406db508ee7a2bc62a48f8..30c07d94a1516e39f7dd7f357837944ef8da6202 100644
--- a/content/browser/renderer_host/pepper/pepper_flash_file_host.cc
+++ b/content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/browser/renderer_host/pepper/pepper_flash_file_host.h"
+#include "content/browser/renderer_host/pepper/pepper_flash_file_message_filter.h"
#include "base/bind.h"
#include "base/file_util.h"
-#include "base/task_runner.h"
#include "base/threading/sequenced_worker_pool.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/public/browser/browser_ppapi_host.h"
@@ -37,58 +36,17 @@ const int kWritePermissions = base::PLATFORM_FILE_OPEN |
base::PLATFORM_FILE_WRITE |
base::PLATFORM_FILE_EXCLUSIVE_WRITE |
base::PLATFORM_FILE_WRITE_ATTRIBUTES;
+} // namespace
+
+PepperFlashFileMessageFilter::PepperFlashFileMessageFilter(
+ PP_Instance instance,
+ BrowserPpapiHost* host)
+ : plugin_process_handle_(host->GetPluginProcessHandle()) {
+ int unused;
+ host->GetRenderViewIDsForInstance(instance, &render_process_id_, &unused);
+ FilePath profile_data_directory = host->GetProfileDataDirectory();
+ std::string plugin_name = host->GetPluginName();
-// All file messages are handled by BrowserThread's blocking pool.
-class FileMessageFilter : public ppapi::host::ResourceMessageFilter {
- public:
- FileMessageFilter(const std::string& plugin_name,
- const FilePath& profile_data_directory,
- int render_process_id,
- base::ProcessHandle plugin_process_handle);
- protected:
- // ppapi::host::ResourceMessageFilter implementation.
- virtual scoped_refptr<base::TaskRunner> OverrideTaskRunnerForMessage(
- const IPC::Message& msg) OVERRIDE;
- virtual int32_t OnResourceMessageReceived(
- const IPC::Message& msg,
- ppapi::host::HostMessageContext* context) OVERRIDE;
-
- private:
- virtual ~FileMessageFilter();
-
- int32_t OnOpenFile(ppapi::host::HostMessageContext* context,
- const ppapi::PepperFilePath& path,
- int flags);
- int32_t OnRenameFile(ppapi::host::HostMessageContext* context,
- const ppapi::PepperFilePath& from_path,
- const ppapi::PepperFilePath& to_path);
- int32_t OnDeleteFileOrDir(ppapi::host::HostMessageContext* context,
- const ppapi::PepperFilePath& path,
- bool recursive);
- int32_t OnCreateDir(ppapi::host::HostMessageContext* context,
- const ppapi::PepperFilePath& path);
- int32_t OnQueryFile(ppapi::host::HostMessageContext* context,
- const ppapi::PepperFilePath& path);
- int32_t OnGetDirContents(ppapi::host::HostMessageContext* context,
- const ppapi::PepperFilePath& path);
- int32_t OnCreateTemporaryFile(ppapi::host::HostMessageContext* context);
-
- FilePath ValidateAndConvertPepperFilePath(
- const ppapi::PepperFilePath& pepper_path,
- int flags);
-
- FilePath plugin_data_directory_;
- int render_process_id_;
- base::ProcessHandle plugin_process_handle_;
-};
-
-FileMessageFilter::FileMessageFilter(
- const std::string& plugin_name,
- const FilePath& profile_data_directory,
- int render_process_id,
- base::ProcessHandle plugin_process_handle)
- : render_process_id_(render_process_id),
- plugin_process_handle_(plugin_process_handle) {
if (profile_data_directory.empty() || plugin_name.empty()) {
// These are used to construct the path. If they are not set it means we
// will construct a bad path and could provide access to the wrong files.
@@ -96,16 +54,23 @@ FileMessageFilter::FileMessageFilter(
// |ValidateAndConvertPepperFilePath| will fail.
NOTREACHED();
} else {
- plugin_data_directory_ = PepperFlashFileHost::GetDataDirName(
+ plugin_data_directory_ = GetDataDirName(
profile_data_directory).Append(FilePath::FromUTF8Unsafe(plugin_name));
}
}
-FileMessageFilter::~FileMessageFilter() {
+PepperFlashFileMessageFilter::~PepperFlashFileMessageFilter() {
+}
+
+// static
+FilePath PepperFlashFileMessageFilter::GetDataDirName(
+ const FilePath& profile_path) {
+ return profile_path.Append(kPepperDataDirname);
}
scoped_refptr<base::TaskRunner>
-FileMessageFilter::OverrideTaskRunnerForMessage(const IPC::Message& msg) {
+PepperFlashFileMessageFilter::OverrideTaskRunnerForMessage(
+ const IPC::Message& msg) {
// The blocking pool provides a pool of threads to run file
// operations, instead of a single thread which might require
// queuing time. Since these messages are synchronous as sent from
@@ -117,10 +82,10 @@ FileMessageFilter::OverrideTaskRunnerForMessage(const IPC::Message& msg) {
return scoped_refptr<base::TaskRunner>(BrowserThread::GetBlockingPool());
}
-int32_t FileMessageFilter::OnResourceMessageReceived(
+int32_t PepperFlashFileMessageFilter::OnResourceMessageReceived(
const IPC::Message& msg,
ppapi::host::HostMessageContext* context) {
- IPC_BEGIN_MESSAGE_MAP(FileMessageFilter, msg)
+ IPC_BEGIN_MESSAGE_MAP(PepperFlashFileMessageFilter, msg)
PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_FlashFile_OpenFile,
OnOpenFile)
PPAPI_DISPATCH_HOST_RESOURCE_CALL(PpapiHostMsg_FlashFile_RenameFile,
@@ -140,7 +105,7 @@ int32_t FileMessageFilter::OnResourceMessageReceived(
return PP_ERROR_FAILED;
}
-int32_t FileMessageFilter::OnOpenFile(
+int32_t PepperFlashFileMessageFilter::OnOpenFile(
ppapi::host::HostMessageContext* context,
const ppapi::PepperFilePath& path,
int flags) {
@@ -178,7 +143,7 @@ int32_t FileMessageFilter::OnOpenFile(
return PP_OK_COMPLETIONPENDING;
}
-int32_t FileMessageFilter::OnRenameFile(
+int32_t PepperFlashFileMessageFilter::OnRenameFile(
ppapi::host::HostMessageContext* context,
const ppapi::PepperFilePath& from_path,
const ppapi::PepperFilePath& to_path) {
@@ -196,7 +161,7 @@ int32_t FileMessageFilter::OnRenameFile(
base::PLATFORM_FILE_OK : base::PLATFORM_FILE_ERROR_ACCESS_DENIED);
}
-int32_t FileMessageFilter::OnDeleteFileOrDir(
+int32_t PepperFlashFileMessageFilter::OnDeleteFileOrDir(
ppapi::host::HostMessageContext* context,
const ppapi::PepperFilePath& path,
bool recursive) {
@@ -211,7 +176,7 @@ int32_t FileMessageFilter::OnDeleteFileOrDir(
return ppapi::PlatformFileErrorToPepperError(result ?
base::PLATFORM_FILE_OK : base::PLATFORM_FILE_ERROR_ACCESS_DENIED);
}
-int32_t FileMessageFilter::OnCreateDir(
+int32_t PepperFlashFileMessageFilter::OnCreateDir(
ppapi::host::HostMessageContext* context,
const ppapi::PepperFilePath& path) {
FilePath full_path = ValidateAndConvertPepperFilePath(path,
@@ -226,7 +191,7 @@ int32_t FileMessageFilter::OnCreateDir(
base::PLATFORM_FILE_OK : base::PLATFORM_FILE_ERROR_ACCESS_DENIED);
}
-int32_t FileMessageFilter::OnQueryFile(
+int32_t PepperFlashFileMessageFilter::OnQueryFile(
ppapi::host::HostMessageContext* context,
const ppapi::PepperFilePath& path) {
FilePath full_path = ValidateAndConvertPepperFilePath(path,
@@ -243,7 +208,7 @@ int32_t FileMessageFilter::OnQueryFile(
base::PLATFORM_FILE_OK : base::PLATFORM_FILE_ERROR_ACCESS_DENIED);
}
-int32_t FileMessageFilter::OnGetDirContents(
+int32_t PepperFlashFileMessageFilter::OnGetDirContents(
ppapi::host::HostMessageContext* context,
const ppapi::PepperFilePath& path) {
FilePath full_path = ValidateAndConvertPepperFilePath(path, kReadPermissions);
@@ -272,7 +237,7 @@ int32_t FileMessageFilter::OnGetDirContents(
return PP_OK;
}
-int32_t FileMessageFilter::OnCreateTemporaryFile(
+int32_t PepperFlashFileMessageFilter::OnCreateTemporaryFile(
ppapi::host::HostMessageContext* context) {
ppapi::PepperFilePath dir_path(
ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath());
@@ -314,7 +279,7 @@ int32_t FileMessageFilter::OnCreateTemporaryFile(
return PP_OK_COMPLETIONPENDING;
}
-FilePath FileMessageFilter::ValidateAndConvertPepperFilePath(
+FilePath PepperFlashFileMessageFilter::ValidateAndConvertPepperFilePath(
const ppapi::PepperFilePath& pepper_path,
int flags) {
FilePath file_path; // Empty path returned on error.
@@ -340,28 +305,4 @@ FilePath FileMessageFilter::ValidateAndConvertPepperFilePath(
return file_path;
}
-} // namespace
-
-PepperFlashFileHost::PepperFlashFileHost(
- BrowserPpapiHost* host,
- PP_Instance instance,
- PP_Resource resource)
- : ResourceHost(host->GetPpapiHost(), instance, resource) {
- int render_process_id, unused;
- host->GetRenderViewIDsForInstance(instance, &render_process_id, &unused);
- AddFilter(scoped_refptr<ppapi::host::ResourceMessageFilter>(
- new FileMessageFilter(host->GetPluginName(),
- host->GetProfileDataDirectory(),
- render_process_id,
- host->GetPluginProcessHandle())));
-}
-
-PepperFlashFileHost::~PepperFlashFileHost() {
-}
-
-// static
-FilePath PepperFlashFileHost::GetDataDirName(const FilePath& profile_path) {
- return profile_path.Append(kPepperDataDirname);
-}
-
} // namespace content
« no previous file with comments | « content/browser/renderer_host/pepper/pepper_flash_file_message_filter.h ('k') | content/content_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698