Index: chrome/browser/ui/webui/print_preview_handler.cc |
diff --git a/chrome/browser/ui/webui/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview_handler.cc |
index e1455bd020df077375eba0be09c5bcb1f20c1a89..19fe6c73a2852787d081e767c022b7a015033565 100644 |
--- a/chrome/browser/ui/webui/print_preview_handler.cc |
+++ b/chrome/browser/ui/webui/print_preview_handler.cc |
@@ -483,9 +483,33 @@ void PrintPreviewHandler::HandleGetPreview(const ListValue* args) { |
print_preview_ui->OnPrintPreviewFailed(); |
return; |
} |
+ |
+ bool display_header_footer; |
+ if (!settings->GetBoolean(printing::kSettingHeaderFooter, |
+ &display_header_footer)) { |
+ NOTREACHED(); |
+ } |
+ |
+ // If headers and footers option is checked then retrieve the page title and |
+ // url and send it to the renderer process. |
+ DictionaryValue header_footer_info; |
+ if (display_header_footer) { |
+ header_footer_info.SetString(printing::kSettingHeaderFooterTitle, |
+ initiator_tab->GetTitle()); |
+ |
+ std::string footer_url; |
+ NavigationEntry* entry = initiator_tab->controller().GetActiveEntry(); |
+ if (entry) |
+ footer_url = entry->virtual_url().spec(); |
+ |
+ header_footer_info.SetString(printing::kSettingHeaderFooterURL, |
+ footer_url); |
+ } |
+ |
VLOG(1) << "Print preview request start"; |
RenderViewHost* rvh = initiator_tab->render_view_host(); |
- rvh->Send(new PrintMsg_PrintPreview(rvh->routing_id(), *settings)); |
+ rvh->Send(new PrintMsg_PrintPreview(rvh->routing_id(), *settings, |
+ header_footer_info)); |
} |
void PrintPreviewHandler::HandlePrint(const ListValue* args) { |