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 <string> | 7 #include <string> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
513 scoped_ptr<base::DictionaryValue> options(new base::DictionaryValue()); | 513 scoped_ptr<base::DictionaryValue> options(new base::DictionaryValue()); |
514 options.reset(new base::DictionaryValue()); | 514 options.reset(new base::DictionaryValue()); |
515 options->SetDouble(kSettingHeaderFooterDate, base::Time::Now().ToJsTime()); | 515 options->SetDouble(kSettingHeaderFooterDate, base::Time::Now().ToJsTime()); |
516 options->SetDouble("width", page_size.width); | 516 options->SetDouble("width", page_size.width); |
517 options->SetDouble("height", page_size.height); | 517 options->SetDouble("height", page_size.height); |
518 options->SetDouble("topMargin", page_layout.margin_top); | 518 options->SetDouble("topMargin", page_layout.margin_top); |
519 options->SetDouble("bottomMargin", page_layout.margin_bottom); | 519 options->SetDouble("bottomMargin", page_layout.margin_bottom); |
520 options->SetString("pageNumber", | 520 options->SetString("pageNumber", |
521 base::StringPrintf("%d/%d", page_number, total_pages)); | 521 base::StringPrintf("%d/%d", page_number, total_pages)); |
522 | 522 |
523 // Fallback to initiator URL and title if it's empty for printed frame. | 523 options->SetString("url", params.url); |
524 base::string16 url = source_frame.document().url().string(); | |
525 options->SetString("url", url.empty() ? params.url : url); | |
526 base::string16 title = source_frame.document().title(); | 524 base::string16 title = source_frame.document().title(); |
527 options->SetString("title", title.empty() ? params.title : title); | 525 options->SetString("title", title.empty() ? params.title : title); |
528 | 526 |
529 ExecuteScript(frame, kPageSetupScriptFormat, *options); | 527 ExecuteScript(frame, kPageSetupScriptFormat, *options); |
530 | 528 |
531 blink::WebPrintParams webkit_params(page_size); | 529 blink::WebPrintParams webkit_params(page_size); |
532 webkit_params.printerDPI = GetDPI(¶ms); | 530 webkit_params.printerDPI = GetDPI(¶ms); |
533 | 531 |
534 frame->printBegin(webkit_params); | 532 frame->printBegin(webkit_params); |
535 frame->printPage(0, canvas); | 533 frame->printPage(0, canvas); |
(...skipping 1561 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2097 blink::WebConsoleMessage::LevelWarning, message)); | 2095 blink::WebConsoleMessage::LevelWarning, message)); |
2098 return false; | 2096 return false; |
2099 } | 2097 } |
2100 | 2098 |
2101 void PrintWebViewHelper::ScriptingThrottler::Reset() { | 2099 void PrintWebViewHelper::ScriptingThrottler::Reset() { |
2102 // Reset counter on successful print. | 2100 // Reset counter on successful print. |
2103 count_ = 0; | 2101 count_ = 0; |
2104 } | 2102 } |
2105 | 2103 |
2106 } // namespace printing | 2104 } // namespace printing |
OLD | NEW |