| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "components/nacl/browser/nacl_process_host.h" | 5 #include "components/nacl/browser/nacl_process_host.h" | 
| 6 | 6 | 
| 7 #include <string.h> | 7 #include <string.h> | 
| 8 #include <algorithm> | 8 #include <algorithm> | 
| 9 #include <string> | 9 #include <string> | 
| 10 #include <utility> | 10 #include <utility> | 
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 209 | 209 | 
| 210 unsigned NaClProcessHost::keepalive_throttle_interval_milliseconds_ = | 210 unsigned NaClProcessHost::keepalive_throttle_interval_milliseconds_ = | 
| 211     ppapi::kKeepaliveThrottleIntervalDefaultMilliseconds; | 211     ppapi::kKeepaliveThrottleIntervalDefaultMilliseconds; | 
| 212 | 212 | 
| 213 // Unfortunately, we cannot use ScopedGeneric directly for IPC::ChannelHandle, | 213 // Unfortunately, we cannot use ScopedGeneric directly for IPC::ChannelHandle, | 
| 214 // because there is neither operator== nor operator != definition for it. | 214 // because there is neither operator== nor operator != definition for it. | 
| 215 // Instead, define a simple wrapper for IPC::ChannelHandle with an assumption | 215 // Instead, define a simple wrapper for IPC::ChannelHandle with an assumption | 
| 216 // that this only takes a transferred IPC::ChannelHandle or one to be | 216 // that this only takes a transferred IPC::ChannelHandle or one to be | 
| 217 // transferred via IPC. | 217 // transferred via IPC. | 
| 218 class NaClProcessHost::ScopedChannelHandle { | 218 class NaClProcessHost::ScopedChannelHandle { | 
|  | 219   MOVE_ONLY_TYPE_FOR_CPP_03(ScopedChannelHandle); | 
|  | 220 | 
| 219  public: | 221  public: | 
| 220   ScopedChannelHandle() { | 222   ScopedChannelHandle() { | 
| 221   } | 223   } | 
| 222   explicit ScopedChannelHandle(const IPC::ChannelHandle& handle) | 224   explicit ScopedChannelHandle(const IPC::ChannelHandle& handle) | 
| 223       : handle_(handle) { | 225       : handle_(handle) { | 
| 224     DCHECK(IsSupportedHandle(handle_)); | 226     DCHECK(IsSupportedHandle(handle_)); | 
| 225   } | 227   } | 
| 226   ScopedChannelHandle(ScopedChannelHandle&& other) : handle_(other.handle_) { | 228   ScopedChannelHandle(ScopedChannelHandle&& other) : handle_(other.handle_) { | 
| 227     other.handle_ = IPC::ChannelHandle(); | 229     other.handle_ = IPC::ChannelHandle(); | 
| 228     DCHECK(IsSupportedHandle(handle_)); | 230     DCHECK(IsSupportedHandle(handle_)); | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 266   void CloseIfNecessary() { | 268   void CloseIfNecessary() { | 
| 267 #if defined(OS_POSIX) | 269 #if defined(OS_POSIX) | 
| 268     if (handle_.socket.auto_close) { | 270     if (handle_.socket.auto_close) { | 
| 269       // Defer closing task to the ScopedFD. | 271       // Defer closing task to the ScopedFD. | 
| 270       base::ScopedFD(handle_.socket.fd); | 272       base::ScopedFD(handle_.socket.fd); | 
| 271     } | 273     } | 
| 272 #endif | 274 #endif | 
| 273   } | 275   } | 
| 274 | 276 | 
| 275   IPC::ChannelHandle handle_; | 277   IPC::ChannelHandle handle_; | 
| 276 |  | 
| 277   DISALLOW_COPY_AND_ASSIGN(ScopedChannelHandle); |  | 
| 278 }; | 278 }; | 
| 279 | 279 | 
| 280 NaClProcessHost::NaClProcessHost( | 280 NaClProcessHost::NaClProcessHost( | 
| 281     const GURL& manifest_url, | 281     const GURL& manifest_url, | 
| 282     base::File nexe_file, | 282     base::File nexe_file, | 
| 283     const NaClFileToken& nexe_token, | 283     const NaClFileToken& nexe_token, | 
| 284     const std::vector<NaClResourcePrefetchResult>& prefetched_resource_files, | 284     const std::vector<NaClResourcePrefetchResult>& prefetched_resource_files, | 
| 285     ppapi::PpapiPermissions permissions, | 285     ppapi::PpapiPermissions permissions, | 
| 286     int render_view_id, | 286     int render_view_id, | 
| 287     uint32_t permission_bits, | 287     uint32_t permission_bits, | 
| (...skipping 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1292     NaClStartDebugExceptionHandlerThread( | 1292     NaClStartDebugExceptionHandlerThread( | 
| 1293         std::move(process), info, base::ThreadTaskRunnerHandle::Get(), | 1293         std::move(process), info, base::ThreadTaskRunnerHandle::Get(), | 
| 1294         base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker, | 1294         base::Bind(&NaClProcessHost::OnDebugExceptionHandlerLaunchedByBroker, | 
| 1295                    weak_factory_.GetWeakPtr())); | 1295                    weak_factory_.GetWeakPtr())); | 
| 1296     return true; | 1296     return true; | 
| 1297   } | 1297   } | 
| 1298 } | 1298 } | 
| 1299 #endif | 1299 #endif | 
| 1300 | 1300 | 
| 1301 }  // namespace nacl | 1301 }  // namespace nacl | 
| OLD | NEW | 
|---|