Index: chrome/renderer/print_web_view_helper.cc |
=================================================================== |
--- chrome/renderer/print_web_view_helper.cc (revision 172434) |
+++ chrome/renderer/print_web_view_helper.cc (working copy) |
@@ -1398,14 +1398,15 @@ |
printing::Metafile* metafile, |
base::SharedMemoryHandle* shared_mem_handle) { |
uint32 buf_size = metafile->GetDataSize(); |
- base::SharedMemoryHandle mem_handle = |
- content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size); |
- if (base::SharedMemory::IsHandleValid(mem_handle)) { |
- base::SharedMemory shared_buf(mem_handle, false); |
- if (shared_buf.Map(buf_size)) { |
- metafile->GetData(shared_buf.memory(), buf_size); |
- shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), |
- shared_mem_handle); |
+ scoped_ptr<base::SharedMemory> shared_buf( |
+ content::RenderThread::Get()->HostAllocateSharedMemoryBuffer( |
+ buf_size).release()); |
+ |
+ if (shared_buf.get()) { |
+ if (shared_buf->Map(buf_size)) { |
+ metafile->GetData(shared_buf->memory(), buf_size); |
+ shared_buf->GiveToProcess(base::GetCurrentProcessHandle(), |
+ shared_mem_handle); |
return true; |
} |
} |