| 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;
|
| }
|
| }
|
|
|