summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/file_ref_resource.cc
diff options
context:
space:
mode:
authorteravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-18 22:42:41 +0000
committerteravest@chromium.org <teravest@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-18 22:42:41 +0000
commitc6420f0816e2f409ba2f0f161905a6f2a46ed80b (patch)
treee5ce4cbc98536450e5d049032f034dd5156afbde /ppapi/proxy/file_ref_resource.cc
parent0e523c610f65d020ceef61c186502394830a120e (diff)
downloadchromium_src-c6420f0816e2f409ba2f0f161905a6f2a46ed80b.zip
chromium_src-c6420f0816e2f409ba2f0f161905a6f2a46ed80b.tar.gz
chromium_src-c6420f0816e2f409ba2f0f161905a6f2a46ed80b.tar.bz2
Pepper: Move FileRef to the "new" resource proxy.
This change moves the FileRef implementation from the previous one in the "old" resource model (ppb_file_ref_impl.cc) to the "new" resource model (pepper_file_ref_host.cc), and from the renderer to the browser. As many as possible of the supporting changes were split off to other changes to minimize the size of this change. Unfortunately, a lot of changes for URLLoader had to be rolled into this change. The data structures for CreateInfo have changed, and all users of FileRef have to be moved over, which is what causes this change to be so large. TBR=dmichael@chromium.org, jschuh@chromium.org, yzshen@chromium.org BUG=225441 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=216744 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=218305 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=219911 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=221284 Review URL: https://chromiumcodereview.appspot.com/21966004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223963 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/file_ref_resource.cc')
-rw-r--r--ppapi/proxy/file_ref_resource.cc51
1 files changed, 16 insertions, 35 deletions
diff --git a/ppapi/proxy/file_ref_resource.cc b/ppapi/proxy/file_ref_resource.cc
index 4c098a5..7cd96bc 100644
--- a/ppapi/proxy/file_ref_resource.cc
+++ b/ppapi/proxy/file_ref_resource.cc
@@ -22,7 +22,7 @@ namespace proxy {
FileRefResource::FileRefResource(
Connection connection,
PP_Instance instance,
- const FileRef_CreateInfo& create_info)
+ const FileRefCreateInfo& create_info)
: PluginResource(connection, instance),
create_info_(create_info),
file_system_resource_(create_info.file_system_plugin_resource) {
@@ -34,19 +34,26 @@ FileRefResource::FileRefResource(
create_info_.internal_path.erase(path_size - 1, 1);
path_var_ = new StringVar(create_info_.internal_path);
-
create_info_.display_name = GetNameForInternalFilePath(
create_info_.internal_path);
}
name_var_ = new StringVar(create_info_.display_name);
- if (create_info_.pending_host_resource_id != 0) {
- AttachToPendingHost(BROWSER, create_info_.pending_host_resource_id);
+ if (create_info_.browser_pending_host_resource_id != 0 &&
+ create_info_.renderer_pending_host_resource_id != 0) {
+ AttachToPendingHost(BROWSER, create_info_.browser_pending_host_resource_id);
+ AttachToPendingHost(RENDERER,
+ create_info_.renderer_pending_host_resource_id);
} else {
+ CHECK(create_info_.browser_pending_host_resource_id == 0);
+ CHECK(create_info_.renderer_pending_host_resource_id == 0);
CHECK(create_info_.file_system_type != PP_FILESYSTEMTYPE_EXTERNAL);
SendCreate(BROWSER, PpapiHostMsg_FileRef_CreateInternal(
create_info.file_system_plugin_resource,
create_info.internal_path));
+ SendCreate(RENDERER, PpapiHostMsg_FileRef_CreateInternal(
+ create_info.file_system_plugin_resource,
+ create_info.internal_path));
}
}
@@ -57,7 +64,7 @@ FileRefResource::~FileRefResource() {
PP_Resource FileRefResource::CreateFileRef(
Connection connection,
PP_Instance instance,
- const FileRef_CreateInfo& create_info) {
+ const FileRefCreateInfo& create_info) {
// If we have a valid file_system resource, ensure that its type matches that
// of the fs_type parameter.
if (create_info.file_system_plugin_resource != 0) {
@@ -82,9 +89,7 @@ PP_Resource FileRefResource::CreateFileRef(
}
thunk::PPB_FileRef_API* FileRefResource::AsPPB_FileRef_API() {
- // TODO: return "this" once we update PPB_FileRef_API.
- NOTREACHED();
- return NULL;
+ return this;
}
PP_FileSystemType FileRefResource::GetFileSystemType() const {
@@ -111,7 +116,7 @@ PP_Resource FileRefResource::GetParent() {
pos++;
std::string parent_path = create_info_.internal_path.substr(0, pos);
- ppapi::FileRef_CreateInfo parent_info;
+ ppapi::FileRefCreateInfo parent_info;
parent_info.file_system_type = create_info_.file_system_type;
parent_info.internal_path = parent_path;
parent_info.display_name = GetNameForInternalFilePath(parent_path);
@@ -184,33 +189,9 @@ int32_t FileRefResource::ReadDirectoryEntries(
return PP_OK_COMPLETIONPENDING;
}
-/*
-const FileRef_CreateInfo& FileRefResource::GetCreateInfo() const {
+const FileRefCreateInfo& FileRefResource::GetCreateInfo() const {
return create_info_;
}
-*/
-const PPB_FileRef_CreateInfo& FileRefResource::GetCreateInfo() const {
- // FIXME
- NOTREACHED();
- PPB_FileRef_CreateInfo *info = new PPB_FileRef_CreateInfo();
- return *info;
-}
-
-// TODO(teravest): Remove this when we are finished moving to the new proxy.
-int32_t FileRefResource::QueryInHost(linked_ptr<PP_FileInfo> info,
- scoped_refptr<TrackedCallback> callback) {
- NOTREACHED();
- return PP_ERROR_FAILED;
-}
-
-// TODO(teravest): Remove this when we are finished moving to the new proxy.
-int32_t FileRefResource::ReadDirectoryEntriesInHost(
- linked_ptr<std::vector<ppapi::PPB_FileRef_CreateInfo> > files,
- linked_ptr<std::vector<PP_FileType> > file_types,
- scoped_refptr<TrackedCallback> callback) {
- NOTREACHED();
- return PP_ERROR_FAILED;
-}
PP_Var FileRefResource::GetAbsolutePath() {
if (!absolute_path_var_.get()) {
@@ -248,7 +229,7 @@ void FileRefResource::OnDirectoryEntriesReply(
const PP_ArrayOutput& output,
scoped_refptr<TrackedCallback> callback,
const ResourceMessageReplyParams& params,
- const std::vector<ppapi::FileRef_CreateInfo>& infos,
+ const std::vector<ppapi::FileRefCreateInfo>& infos,
const std::vector<PP_FileType>& file_types) {
if (!TrackedCallback::IsPending(callback))
return;