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

Side by Side Diff: components/nacl/renderer/pnacl_translation_resource_host.cc

Issue 307173002: Remove PlatformFile from components/nacl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update NexeFdCallback definition Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "pnacl_translation_resource_host.h" 5 #include "pnacl_translation_resource_host.h"
6 6
7 #include "components/nacl/common/nacl_host_messages.h" 7 #include "components/nacl/common/nacl_host_messages.h"
8 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/shared_impl/ppapi_globals.h" 9 #include "ppapi/shared_impl/ppapi_globals.h"
10 10
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 DCHECK(pending_cache_requests_.count(instance) == 0); 122 DCHECK(pending_cache_requests_.count(instance) == 0);
123 channel_->Send(new NaClHostMsg_ReportTranslationFinished(instance, 123 channel_->Send(new NaClHostMsg_ReportTranslationFinished(instance,
124 PP_ToBool(success))); 124 PP_ToBool(success)));
125 } 125 }
126 126
127 void PnaclTranslationResourceHost::OnNexeTempFileReply( 127 void PnaclTranslationResourceHost::OnNexeTempFileReply(
128 PP_Instance instance, 128 PP_Instance instance,
129 bool is_hit, 129 bool is_hit,
130 IPC::PlatformFileForTransit file) { 130 IPC::PlatformFileForTransit file) {
131 DCHECK(io_message_loop_->BelongsToCurrentThread()); 131 DCHECK(io_message_loop_->BelongsToCurrentThread());
132 base::File base_file = IPC::PlatformFileForTransitToFile(file);
132 CacheRequestInfoMap::iterator it = pending_cache_requests_.find(instance); 133 CacheRequestInfoMap::iterator it = pending_cache_requests_.find(instance);
133 int32_t status = PP_ERROR_FAILED; 134 int32_t status = PP_ERROR_FAILED;
134 // Handle the expected successful case first. 135 // Handle the expected successful case first.
135 if (it != pending_cache_requests_.end() && 136 if (it != pending_cache_requests_.end() && base_file.IsValid() &&
136 !(file == IPC::InvalidPlatformFileForTransit()) &&
137 TrackedCallback::IsPending(it->second.callback)) { 137 TrackedCallback::IsPending(it->second.callback)) {
138 *it->second.is_hit = PP_FromBool(is_hit); 138 *it->second.is_hit = PP_FromBool(is_hit);
139 *it->second.file_handle = IPC::PlatformFileForTransitToPlatformFile(file); 139 *it->second.file_handle = base_file.TakePlatformFile();
140 status = PP_OK; 140 status = PP_OK;
141 } 141 }
142 if (it == pending_cache_requests_.end()) { 142 if (it == pending_cache_requests_.end()) {
143 DLOG(ERROR) << "Could not find pending request for reply"; 143 DLOG(ERROR) << "Could not find pending request for reply";
144 } else { 144 } else {
145 PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostTask( 145 PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostTask(
146 FROM_HERE, 146 FROM_HERE,
147 base::Bind(&TrackedCallback::Run, it->second.callback, status)); 147 base::Bind(&TrackedCallback::Run, it->second.callback, status));
148 pending_cache_requests_.erase(it); 148 pending_cache_requests_.erase(it);
149 } 149 }
150 if (file == IPC::InvalidPlatformFileForTransit()) { 150 if (!base_file.IsValid()) {
151 DLOG(ERROR) << "Got invalid platformfilefortransit"; 151 DLOG(ERROR) << "Got invalid platformfilefortransit";
152 } else if (status != PP_OK) {
153 base::ClosePlatformFile(IPC::PlatformFileForTransitToPlatformFile(file));
154 } 152 }
155 } 153 }
156 154
157 void PnaclTranslationResourceHost::CleanupCacheRequests() { 155 void PnaclTranslationResourceHost::CleanupCacheRequests() {
158 DCHECK(io_message_loop_->BelongsToCurrentThread()); 156 DCHECK(io_message_loop_->BelongsToCurrentThread());
159 for (CacheRequestInfoMap::iterator it = pending_cache_requests_.begin(); 157 for (CacheRequestInfoMap::iterator it = pending_cache_requests_.begin();
160 it != pending_cache_requests_.end(); 158 it != pending_cache_requests_.end();
161 ++it) { 159 ++it) {
162 it->second.callback->PostAbort(); 160 it->second.callback->PostAbort();
163 } 161 }
164 pending_cache_requests_.clear(); 162 pending_cache_requests_.clear();
165 } 163 }
OLDNEW
« no previous file with comments | « components/nacl/renderer/nexe_load_manager.cc ('k') | components/nacl/renderer/ppb_nacl_private_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698