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 "components/printing/renderer/print_web_view_helper.h" | 5 #include "components/printing/renderer/print_web_view_helper.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 | 527 |
528 blink::WebLocalFrame* frame = | 528 blink::WebLocalFrame* frame = |
529 blink::WebLocalFrame::create(blink::WebTreeScopeType::Document, NULL); | 529 blink::WebLocalFrame::create(blink::WebTreeScopeType::Document, NULL); |
530 web_view->setMainFrame(frame); | 530 web_view->setMainFrame(frame); |
531 | 531 |
532 base::StringValue html(ResourceBundle::GetSharedInstance().GetLocalizedString( | 532 base::StringValue html(ResourceBundle::GetSharedInstance().GetLocalizedString( |
533 IDR_PRINT_PREVIEW_PAGE)); | 533 IDR_PRINT_PREVIEW_PAGE)); |
534 // Load page with script to avoid async operations. | 534 // Load page with script to avoid async operations. |
535 ExecuteScript(frame, kPageLoadScriptFormat, html); | 535 ExecuteScript(frame, kPageLoadScriptFormat, html); |
536 | 536 |
537 scoped_ptr<base::DictionaryValue> options(new base::DictionaryValue()); | 537 std::unique_ptr<base::DictionaryValue> options(new base::DictionaryValue()); |
538 options.reset(new base::DictionaryValue()); | 538 options.reset(new base::DictionaryValue()); |
539 options->SetDouble(kSettingHeaderFooterDate, base::Time::Now().ToJsTime()); | 539 options->SetDouble(kSettingHeaderFooterDate, base::Time::Now().ToJsTime()); |
540 options->SetDouble("width", page_size.width); | 540 options->SetDouble("width", page_size.width); |
541 options->SetDouble("height", page_size.height); | 541 options->SetDouble("height", page_size.height); |
542 options->SetDouble("topMargin", page_layout.margin_top); | 542 options->SetDouble("topMargin", page_layout.margin_top); |
543 options->SetDouble("bottomMargin", page_layout.margin_bottom); | 543 options->SetDouble("bottomMargin", page_layout.margin_bottom); |
544 options->SetString("pageNumber", | 544 options->SetString("pageNumber", |
545 base::StringPrintf("%d/%d", page_number, total_pages)); | 545 base::StringPrintf("%d/%d", page_number, total_pages)); |
546 | 546 |
547 options->SetString("url", params.url); | 547 options->SetString("url", params.url); |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
822 | 822 |
823 bool PrintWebViewHelper::Delegate::IsAskPrintSettingsEnabled() { | 823 bool PrintWebViewHelper::Delegate::IsAskPrintSettingsEnabled() { |
824 return true; | 824 return true; |
825 } | 825 } |
826 | 826 |
827 bool PrintWebViewHelper::Delegate::IsScriptedPrintEnabled() { | 827 bool PrintWebViewHelper::Delegate::IsScriptedPrintEnabled() { |
828 return true; | 828 return true; |
829 } | 829 } |
830 | 830 |
831 PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view, | 831 PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view, |
832 scoped_ptr<Delegate> delegate) | 832 std::unique_ptr<Delegate> delegate) |
833 : content::RenderViewObserver(render_view), | 833 : content::RenderViewObserver(render_view), |
834 content::RenderViewObserverTracker<PrintWebViewHelper>(render_view), | 834 content::RenderViewObserverTracker<PrintWebViewHelper>(render_view), |
835 reset_prep_frame_view_(false), | 835 reset_prep_frame_view_(false), |
836 is_print_ready_metafile_sent_(false), | 836 is_print_ready_metafile_sent_(false), |
837 ignore_css_margins_(false), | 837 ignore_css_margins_(false), |
838 is_scripted_printing_blocked_(false), | 838 is_scripted_printing_blocked_(false), |
839 notify_browser_of_print_failure_(true), | 839 notify_browser_of_print_failure_(true), |
840 print_for_preview_(false), | 840 print_for_preview_(false), |
841 delegate_(std::move(delegate)), | 841 delegate_(std::move(delegate)), |
842 print_node_in_progress_(false), | 842 print_node_in_progress_(false), |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1235 return true; | 1235 return true; |
1236 } | 1236 } |
1237 | 1237 |
1238 #if !defined(OS_MACOSX) && defined(ENABLE_PRINT_PREVIEW) | 1238 #if !defined(OS_MACOSX) && defined(ENABLE_PRINT_PREVIEW) |
1239 bool PrintWebViewHelper::RenderPreviewPage( | 1239 bool PrintWebViewHelper::RenderPreviewPage( |
1240 int page_number, | 1240 int page_number, |
1241 const PrintMsg_Print_Params& print_params) { | 1241 const PrintMsg_Print_Params& print_params) { |
1242 PrintMsg_PrintPage_Params page_params; | 1242 PrintMsg_PrintPage_Params page_params; |
1243 page_params.params = print_params; | 1243 page_params.params = print_params; |
1244 page_params.page_number = page_number; | 1244 page_params.page_number = page_number; |
1245 scoped_ptr<PdfMetafileSkia> draft_metafile; | 1245 std::unique_ptr<PdfMetafileSkia> draft_metafile; |
1246 PdfMetafileSkia* initial_render_metafile = print_preview_context_.metafile(); | 1246 PdfMetafileSkia* initial_render_metafile = print_preview_context_.metafile(); |
1247 if (print_preview_context_.IsModifiable() && is_print_ready_metafile_sent_) { | 1247 if (print_preview_context_.IsModifiable() && is_print_ready_metafile_sent_) { |
1248 draft_metafile.reset(new PdfMetafileSkia); | 1248 draft_metafile.reset(new PdfMetafileSkia); |
1249 initial_render_metafile = draft_metafile.get(); | 1249 initial_render_metafile = draft_metafile.get(); |
1250 } | 1250 } |
1251 | 1251 |
1252 base::TimeTicks begin_time = base::TimeTicks::Now(); | 1252 base::TimeTicks begin_time = base::TimeTicks::Now(); |
1253 PrintPageInternal(page_params, print_preview_context_.prepared_frame(), | 1253 PrintPageInternal(page_params, print_preview_context_.prepared_frame(), |
1254 initial_render_metafile, nullptr, nullptr); | 1254 initial_render_metafile, nullptr, nullptr); |
1255 print_preview_context_.RenderedPreviewPage( | 1255 print_preview_context_.RenderedPreviewPage( |
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1813 } | 1813 } |
1814 #endif // !defined(OS_MACOSX) | 1814 #endif // !defined(OS_MACOSX) |
1815 | 1815 |
1816 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( | 1816 bool PrintWebViewHelper::CopyMetafileDataToSharedMem( |
1817 const PdfMetafileSkia& metafile, | 1817 const PdfMetafileSkia& metafile, |
1818 base::SharedMemoryHandle* shared_mem_handle) { | 1818 base::SharedMemoryHandle* shared_mem_handle) { |
1819 uint32_t buf_size = metafile.GetDataSize(); | 1819 uint32_t buf_size = metafile.GetDataSize(); |
1820 if (buf_size == 0) | 1820 if (buf_size == 0) |
1821 return false; | 1821 return false; |
1822 | 1822 |
1823 scoped_ptr<base::SharedMemory> shared_buf( | 1823 std::unique_ptr<base::SharedMemory> shared_buf( |
1824 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size)); | 1824 content::RenderThread::Get()->HostAllocateSharedMemoryBuffer(buf_size)); |
1825 if (!shared_buf) | 1825 if (!shared_buf) |
1826 return false; | 1826 return false; |
1827 | 1827 |
1828 if (!shared_buf->Map(buf_size)) | 1828 if (!shared_buf->Map(buf_size)) |
1829 return false; | 1829 return false; |
1830 | 1830 |
1831 if (!metafile.GetData(shared_buf->memory(), buf_size)) | 1831 if (!metafile.GetData(shared_buf->memory(), buf_size)) |
1832 return false; | 1832 return false; |
1833 | 1833 |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2245 blink::WebConsoleMessage::LevelWarning, message)); | 2245 blink::WebConsoleMessage::LevelWarning, message)); |
2246 return false; | 2246 return false; |
2247 } | 2247 } |
2248 | 2248 |
2249 void PrintWebViewHelper::ScriptingThrottler::Reset() { | 2249 void PrintWebViewHelper::ScriptingThrottler::Reset() { |
2250 // Reset counter on successful print. | 2250 // Reset counter on successful print. |
2251 count_ = 0; | 2251 count_ = 0; |
2252 } | 2252 } |
2253 | 2253 |
2254 } // namespace printing | 2254 } // namespace printing |
OLD | NEW |