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

Side by Side Diff: content/common/gpu/client/gpu_channel_host.cc

Issue 1320783002: Make SharedMemoryHandle a class on windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ipc_global
Patch Set: Rebase. Created 5 years, 2 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
« no previous file with comments | « content/common/dwrite_font_platform_win.cc ('k') | content/common/sandbox_init_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "content/common/gpu/client/gpu_channel_host.h" 5 #include "content/common/gpu/client/gpu_channel_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/atomic_sequence_num.h" 9 #include "base/atomic_sequence_num.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 // Windows and Mac need to explicitly duplicate the handle out to another 327 // Windows and Mac need to explicitly duplicate the handle out to another
328 // process. 328 // process.
329 base::SharedMemoryHandle target_handle; 329 base::SharedMemoryHandle target_handle;
330 base::ProcessId peer_pid; 330 base::ProcessId peer_pid;
331 { 331 {
332 AutoLock lock(context_lock_); 332 AutoLock lock(context_lock_);
333 if (!channel_) 333 if (!channel_)
334 return base::SharedMemory::NULLHandle(); 334 return base::SharedMemory::NULLHandle();
335 peer_pid = channel_->GetPeerPID(); 335 peer_pid = channel_->GetPeerPID();
336 } 336 }
337 #if defined(OS_WIN)
338 bool success =
339 BrokerDuplicateHandle(source_handle, peer_pid, &target_handle,
340 FILE_GENERIC_READ | FILE_GENERIC_WRITE, 0);
341 #elif defined(OS_MACOSX)
342 bool success = BrokerDuplicateSharedMemoryHandle(source_handle, peer_pid, 337 bool success = BrokerDuplicateSharedMemoryHandle(source_handle, peer_pid,
343 &target_handle); 338 &target_handle);
344 #endif
345 if (!success) 339 if (!success)
346 return base::SharedMemory::NULLHandle(); 340 return base::SharedMemory::NULLHandle();
347 341
348 return target_handle; 342 return target_handle;
349 #else 343 #else
350 return base::SharedMemory::DuplicateHandle(source_handle); 344 return base::SharedMemory::DuplicateHandle(source_handle);
351 #endif // defined(OS_WIN) || defined(OS_MACOSX) 345 #endif // defined(OS_WIN) || defined(OS_MACOSX)
352 } 346 }
353 347
354 int32 GpuChannelHost::ReserveTransferBufferId() { 348 int32 GpuChannelHost::ReserveTransferBufferId() {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 455
462 listeners_.clear(); 456 listeners_.clear();
463 } 457 }
464 458
465 bool GpuChannelHost::MessageFilter::IsLost() const { 459 bool GpuChannelHost::MessageFilter::IsLost() const {
466 AutoLock lock(lock_); 460 AutoLock lock(lock_);
467 return lost_; 461 return lost_;
468 } 462 }
469 463
470 } // namespace content 464 } // namespace content
OLDNEW
« no previous file with comments | « content/common/dwrite_font_platform_win.cc ('k') | content/common/sandbox_init_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698