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 |