| 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 "chrome/renderer/print_web_view_helper.h" | 5 #include "chrome/renderer/print_web_view_helper.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1391 if (print_pages_params_->params.selection_only) | 1391 if (print_pages_params_->params.selection_only) |
| 1392 return CopyAndPrint(frame); | 1392 return CopyAndPrint(frame); |
| 1393 return PrintPages(frame, node); | 1393 return PrintPages(frame, node); |
| 1394 } | 1394 } |
| 1395 | 1395 |
| 1396 #if defined(OS_POSIX) | 1396 #if defined(OS_POSIX) |
| 1397 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( | 1397 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( |
| 1398 printing::Metafile* metafile, | 1398 printing::Metafile* metafile, |
| 1399 base::SharedMemoryHandle* shared_mem_handle) { | 1399 base::SharedMemoryHandle* shared_mem_handle) { |
| 1400 uint32 buf_size = metafile->GetDataSize(); | 1400 uint32 buf_size = metafile->GetDataSize(); |
| 1401 base::SharedMemoryHandle mem_handle = | 1401 scoped_ptr<base::SharedMemory> shared_buf( |
| 1402 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size); | 1402 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer( |
| 1403 if (base::SharedMemory::IsHandleValid(mem_handle)) { | 1403 buf_size).release()); |
| 1404 base::SharedMemory shared_buf(mem_handle, false); | 1404 |
| 1405 if (shared_buf.Map(buf_size)) { | 1405 if (shared_buf.get()) { |
| 1406 metafile->GetData(shared_buf.memory(), buf_size); | 1406 if (shared_buf->Map(buf_size)) { |
| 1407 shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), | 1407 metafile->GetData(shared_buf->memory(), buf_size); |
| 1408 shared_mem_handle); | 1408 shared_buf->GiveToProcess(base::GetCurrentProcessHandle(), |
| 1409 shared_mem_handle); |
| 1409 return true; | 1410 return true; |
| 1410 } | 1411 } |
| 1411 } | 1412 } |
| 1412 NOTREACHED(); | 1413 NOTREACHED(); |
| 1413 return false; | 1414 return false; |
| 1414 } | 1415 } |
| 1415 #endif // defined(OS_POSIX) | 1416 #endif // defined(OS_POSIX) |
| 1416 | 1417 |
| 1417 bool PrintWebViewHelper::IsScriptInitiatedPrintTooFrequent( | 1418 bool PrintWebViewHelper::IsScriptInitiatedPrintTooFrequent( |
| 1418 WebKit::WebFrame* frame) { | 1419 WebKit::WebFrame* frame) { |
| (...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1754 DCHECK(IsRendering()); | 1755 DCHECK(IsRendering()); |
| 1755 return prep_frame_view_->GetPrintCanvasSize(); | 1756 return prep_frame_view_->GetPrintCanvasSize(); |
| 1756 } | 1757 } |
| 1757 | 1758 |
| 1758 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { | 1759 void PrintWebViewHelper::PrintPreviewContext::ClearContext() { |
| 1759 prep_frame_view_.reset(); | 1760 prep_frame_view_.reset(); |
| 1760 metafile_.reset(); | 1761 metafile_.reset(); |
| 1761 pages_to_render_.clear(); | 1762 pages_to_render_.clear(); |
| 1762 error_ = PREVIEW_ERROR_NONE; | 1763 error_ = PREVIEW_ERROR_NONE; |
| 1763 } | 1764 } |
| OLD | NEW |