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

Unified Diff: webkit/plugins/ppapi/ppb_flash_file_impl.cc

Issue 10169040: Move the rest of the Flash functions to the thunk system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months 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
« no previous file with comments | « webkit/plugins/ppapi/ppb_flash_file_impl.h ('k') | webkit/plugins/ppapi/ppb_flash_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/plugins/ppapi/ppb_flash_file_impl.cc
diff --git a/webkit/plugins/ppapi/ppb_flash_file_impl.cc b/webkit/plugins/ppapi/ppb_flash_file_impl.cc
deleted file mode 100644
index 46d9786109e2871ca5cf88011ce15f8e6a3ab1c3..0000000000000000000000000000000000000000
--- a/webkit/plugins/ppapi/ppb_flash_file_impl.cc
+++ /dev/null
@@ -1,286 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "webkit/plugins/ppapi/ppb_flash_file_impl.h"
-
-#include <string.h>
-
-#include <string>
-
-#include "ppapi/c/pp_file_info.h"
-#include "ppapi/c/ppb_file_io.h"
-#include "ppapi/c/private/ppb_flash_file.h"
-#include "ppapi/shared_impl/file_type_conversion.h"
-#include "ppapi/shared_impl/time_conversion.h"
-#include "ppapi/thunk/enter.h"
-#include "webkit/plugins/ppapi/common.h"
-#include "webkit/plugins/ppapi/file_path.h"
-#include "webkit/plugins/ppapi/host_globals.h"
-#include "webkit/plugins/ppapi/plugin_delegate.h"
-#include "webkit/plugins/ppapi/plugin_module.h"
-#include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
-#include "webkit/plugins/ppapi/ppb_file_ref_impl.h"
-#include "webkit/plugins/ppapi/resource_helper.h"
-
-#if defined(OS_WIN)
-#include "base/utf_string_conversions.h"
-#endif
-
-using ppapi::thunk::EnterResource;
-using ppapi::thunk::PPB_FileRef_API;
-using ppapi::TimeToPPTime;
-
-namespace webkit {
-namespace ppapi {
-
-namespace {
-
-void FreeDirContents(PP_Instance instance, PP_DirContents_Dev* contents) {
- DCHECK(contents);
- for (int32_t i = 0; i < contents->count; ++i) {
- delete [] contents->entries[i].name;
- }
- delete [] contents->entries;
- delete contents;
-}
-
-} // namespace
-
-// PPB_Flash_File_ModuleLocal_Impl ---------------------------------------------
-
-namespace {
-
-bool CreateThreadAdapterForInstance(PP_Instance instance) {
- return false; // No multithreaded access allowed.
-}
-
-void ClearThreadAdapterForInstance(PP_Instance instance) {
-}
-
-int32_t OpenModuleLocalFile(PP_Instance pp_instance,
- const char* path,
- int32_t mode,
- PP_FileHandle* file) {
- int flags = 0;
- if (!path ||
- !::ppapi::PepperFileOpenFlagsToPlatformFileFlags(mode, &flags) ||
- !file)
- return PP_ERROR_BADARGUMENT;
-
- PluginInstance* instance = HostGlobals::Get()->GetInstance(pp_instance);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFile base_file;
- base::PlatformFileError result = instance->delegate()->OpenFile(
- PepperFilePath::MakeModuleLocal(instance->module(), path),
- flags,
- &base_file);
- *file = base_file;
- return ::ppapi::PlatformFileErrorToPepperError(result);
-}
-
-int32_t RenameModuleLocalFile(PP_Instance pp_instance,
- const char* from_path,
- const char* to_path) {
- if (!from_path || !to_path)
- return PP_ERROR_BADARGUMENT;
-
- PluginInstance* instance = HostGlobals::Get()->GetInstance(pp_instance);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileError result = instance->delegate()->RenameFile(
- PepperFilePath::MakeModuleLocal(instance->module(), from_path),
- PepperFilePath::MakeModuleLocal(instance->module(), to_path));
- return ::ppapi::PlatformFileErrorToPepperError(result);
-}
-
-int32_t DeleteModuleLocalFileOrDir(PP_Instance pp_instance,
- const char* path,
- PP_Bool recursive) {
- if (!path)
- return PP_ERROR_BADARGUMENT;
-
- PluginInstance* instance = HostGlobals::Get()->GetInstance(pp_instance);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileError result = instance->delegate()->DeleteFileOrDir(
- PepperFilePath::MakeModuleLocal(instance->module(), path),
- PPBoolToBool(recursive));
- return ::ppapi::PlatformFileErrorToPepperError(result);
-}
-
-int32_t CreateModuleLocalDir(PP_Instance pp_instance, const char* path) {
- if (!path)
- return PP_ERROR_BADARGUMENT;
-
- PluginInstance* instance = HostGlobals::Get()->GetInstance(pp_instance);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileError result = instance->delegate()->CreateDir(
- PepperFilePath::MakeModuleLocal(instance->module(), path));
- return ::ppapi::PlatformFileErrorToPepperError(result);
-}
-
-int32_t QueryModuleLocalFile(PP_Instance pp_instance,
- const char* path,
- PP_FileInfo* info) {
- if (!path || !info)
- return PP_ERROR_BADARGUMENT;
-
- PluginInstance* instance = HostGlobals::Get()->GetInstance(pp_instance);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileInfo file_info;
- base::PlatformFileError result = instance->delegate()->QueryFile(
- PepperFilePath::MakeModuleLocal(instance->module(), path),
- &file_info);
- if (result == base::PLATFORM_FILE_OK) {
- info->size = file_info.size;
- info->creation_time = TimeToPPTime(file_info.creation_time);
- info->last_access_time = TimeToPPTime(file_info.last_accessed);
- info->last_modified_time = TimeToPPTime(file_info.last_modified);
- info->system_type = PP_FILESYSTEMTYPE_EXTERNAL;
- if (file_info.is_directory)
- info->type = PP_FILETYPE_DIRECTORY;
- else
- info->type = PP_FILETYPE_REGULAR;
- }
- return ::ppapi::PlatformFileErrorToPepperError(result);
-}
-
-int32_t GetModuleLocalDirContents(PP_Instance pp_instance,
- const char* path,
- PP_DirContents_Dev** contents) {
- if (!path || !contents)
- return PP_ERROR_BADARGUMENT;
- PluginInstance* instance = HostGlobals::Get()->GetInstance(pp_instance);
- if (!instance)
- return PP_ERROR_FAILED;
-
- *contents = NULL;
- DirContents pepper_contents;
- base::PlatformFileError result = instance->delegate()->GetDirContents(
- PepperFilePath::MakeModuleLocal(instance->module(), path),
- &pepper_contents);
-
- if (result != base::PLATFORM_FILE_OK)
- return ::ppapi::PlatformFileErrorToPepperError(result);
-
- *contents = new PP_DirContents_Dev;
- size_t count = pepper_contents.size();
- (*contents)->count = count;
- (*contents)->entries = new PP_DirEntry_Dev[count];
- for (size_t i = 0; i < count; ++i) {
- PP_DirEntry_Dev& entry = (*contents)->entries[i];
-#if defined(OS_WIN)
- const std::string& name = UTF16ToUTF8(pepper_contents[i].name.value());
-#else
- const std::string& name = pepper_contents[i].name.value();
-#endif
- size_t size = name.size() + 1;
- char* name_copy = new char[size];
- memcpy(name_copy, name.c_str(), size);
- entry.name = name_copy;
- entry.is_dir = BoolToPPBool(pepper_contents[i].is_dir);
- }
- return PP_OK;
-}
-
-const PPB_Flash_File_ModuleLocal ppb_flash_file_modulelocal = {
- &CreateThreadAdapterForInstance,
- &ClearThreadAdapterForInstance,
- &OpenModuleLocalFile,
- &RenameModuleLocalFile,
- &DeleteModuleLocalFileOrDir,
- &CreateModuleLocalDir,
- &QueryModuleLocalFile,
- &GetModuleLocalDirContents,
- &FreeDirContents,
-};
-
-} // namespace
-
-// static
-const PPB_Flash_File_ModuleLocal*
- PPB_Flash_File_ModuleLocal_Impl::GetInterface() {
- return &ppb_flash_file_modulelocal;
-}
-
-// PPB_Flash_File_FileRef_Impl -------------------------------------------------
-
-namespace {
-
-int32_t OpenFileRefFile(PP_Resource file_ref_id,
- int32_t mode,
- PP_FileHandle* file) {
- int flags = 0;
- if (!::ppapi::PepperFileOpenFlagsToPlatformFileFlags(mode, &flags) || !file)
- return PP_ERROR_BADARGUMENT;
-
- EnterResource<PPB_FileRef_API> enter(file_ref_id, true);
- if (enter.failed())
- return PP_ERROR_BADRESOURCE;
- PPB_FileRef_Impl* file_ref = static_cast<PPB_FileRef_Impl*>(enter.object());
-
- PluginInstance* instance = ResourceHelper::GetPluginInstance(file_ref);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFile base_file;
- base::PlatformFileError result = instance->delegate()->OpenFile(
- PepperFilePath::MakeAbsolute(file_ref->GetSystemPath()),
- flags,
- &base_file);
- *file = base_file;
- return ::ppapi::PlatformFileErrorToPepperError(result);
-}
-
-int32_t QueryFileRefFile(PP_Resource file_ref_id,
- PP_FileInfo* info) {
- EnterResource<PPB_FileRef_API> enter(file_ref_id, true);
- if (enter.failed())
- return PP_ERROR_BADRESOURCE;
- PPB_FileRef_Impl* file_ref = static_cast<PPB_FileRef_Impl*>(enter.object());
-
- PluginInstance* instance = ResourceHelper::GetPluginInstance(file_ref);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileInfo file_info;
- base::PlatformFileError result = instance->delegate()->QueryFile(
- PepperFilePath::MakeAbsolute(file_ref->GetSystemPath()),
- &file_info);
- if (result == base::PLATFORM_FILE_OK) {
- info->size = file_info.size;
- info->creation_time = TimeToPPTime(file_info.creation_time);
- info->last_access_time = TimeToPPTime(file_info.last_accessed);
- info->last_modified_time = TimeToPPTime(file_info.last_modified);
- info->system_type = PP_FILESYSTEMTYPE_EXTERNAL;
- if (file_info.is_directory)
- info->type = PP_FILETYPE_DIRECTORY;
- else
- info->type = PP_FILETYPE_REGULAR;
- }
- return ::ppapi::PlatformFileErrorToPepperError(result);
-}
-
-const PPB_Flash_File_FileRef ppb_flash_file_fileref = {
- &OpenFileRefFile,
- &QueryFileRefFile,
-};
-
-} // namespace
-
-// static
-const PPB_Flash_File_FileRef* PPB_Flash_File_FileRef_Impl::GetInterface() {
- return &ppb_flash_file_fileref;
-}
-
-} // namespace ppapi
-} // namespace webkit
« no previous file with comments | « webkit/plugins/ppapi/ppb_flash_file_impl.h ('k') | webkit/plugins/ppapi/ppb_flash_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698