| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 498 if (print_settings.params.selection_only) { | 498 if (print_settings.params.selection_only) { |
| 499 CopyAndPrint(frame); | 499 CopyAndPrint(frame); |
| 500 } else { | 500 } else { |
| 501 // TODO: Always copy before printing. | 501 // TODO: Always copy before printing. |
| 502 PrintPages(print_settings, frame, node); | 502 PrintPages(print_settings, frame, node); |
| 503 } | 503 } |
| 504 } | 504 } |
| 505 | 505 |
| 506 void PrintWebViewHelper::RenderPagesForPreview(WebFrame *frame) { | 506 void PrintWebViewHelper::RenderPagesForPreview(WebFrame *frame) { |
| 507 ViewMsg_PrintPages_Params print_settings = *print_pages_params_; | 507 ViewMsg_PrintPages_Params print_settings = *print_pages_params_; |
| 508 ViewHostMsg_DidPreviewDocument_Params print_params; | 508 ViewHostMsg_DidPreviewDocument_Params preview_params; |
| 509 CreatePreviewDocument(print_settings, frame, &print_params); | 509 CreatePreviewDocument(print_settings, frame, &preview_params); |
| 510 Send(new ViewHostMsg_PagesReadyForPreview(routing_id(), print_params)); | 510 Send(new ViewHostMsg_PagesReadyForPreview(routing_id(), preview_params)); |
| 511 } | 511 } |
| 512 | 512 |
| 513 #if !defined(OS_MACOSX) | 513 #if !defined(OS_MACOSX) |
| 514 void PrintWebViewHelper::CreatePreviewDocument( | 514 void PrintWebViewHelper::CreatePreviewDocument( |
| 515 const ViewMsg_PrintPages_Params& params, | 515 const ViewMsg_PrintPages_Params& params, |
| 516 WebFrame* frame, | 516 WebFrame* frame, |
| 517 ViewHostMsg_DidPreviewDocument_Params* print_params) { | 517 ViewHostMsg_DidPreviewDocument_Params* preview_params) { |
| 518 // TODO(kmadhusu): Implement this function for windows & linux. | 518 // TODO(kmadhusu): Implement this function for windows & linux. |
| 519 print_params->document_cookie = params.params.document_cookie; | 519 preview_params->document_cookie = params.params.document_cookie; |
| 520 } | 520 } |
| 521 #endif | 521 #endif |
| 522 | 522 |
| 523 #if defined(OS_MACOSX) | 523 #if defined(OS_MACOSX) |
| 524 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( | 524 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( |
| 525 printing::NativeMetafile* metafile, | 525 printing::NativeMetafile* metafile, |
| 526 base::SharedMemoryHandle* shared_mem_handle) { | 526 base::SharedMemoryHandle* shared_mem_handle) { |
| 527 uint32 buf_size = metafile->GetDataSize(); | 527 uint32 buf_size = metafile->GetDataSize(); |
| 528 base::SharedMemoryHandle mem_handle; | 528 base::SharedMemoryHandle mem_handle; |
| 529 if (Send(new ViewHostMsg_AllocateSharedMemoryBuffer(buf_size, &mem_handle))) { | 529 if (Send(new ViewHostMsg_AllocateSharedMemoryBuffer(buf_size, &mem_handle))) { |
| 530 if (base::SharedMemory::IsHandleValid(mem_handle)) { | 530 if (base::SharedMemory::IsHandleValid(mem_handle)) { |
| 531 base::SharedMemory shared_buf(mem_handle, false); | 531 base::SharedMemory shared_buf(mem_handle, false); |
| 532 if (shared_buf.Map(buf_size)) { | 532 if (shared_buf.Map(buf_size)) { |
| 533 metafile->GetData(shared_buf.memory(), buf_size); | 533 metafile->GetData(shared_buf.memory(), buf_size); |
| 534 shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), | 534 shared_buf.GiveToProcess(base::GetCurrentProcessHandle(), |
| 535 shared_mem_handle); | 535 shared_mem_handle); |
| 536 return true; | 536 return true; |
| 537 } | 537 } |
| 538 } | 538 } |
| 539 } | 539 } |
| 540 NOTREACHED(); | 540 NOTREACHED(); |
| 541 return false; | 541 return false; |
| 542 } | 542 } |
| 543 #endif | 543 #endif |
| OLD | NEW |