| Index: chrome/browser/printing/print_dialog_gtk.cc
|
| diff --git a/chrome/browser/printing/print_dialog_gtk.cc b/chrome/browser/printing/print_dialog_gtk.cc
|
| index a3d00a8c64630f5c5c02f0c976efa60901a44333..557ce321fea5e012c93793d238aeb30a9ff3ecb4 100644
|
| --- a/chrome/browser/printing/print_dialog_gtk.cc
|
| +++ b/chrome/browser/printing/print_dialog_gtk.cc
|
| @@ -155,7 +155,9 @@ void PrintDialogGtk::UseDefaultSettings() {
|
|
|
| // No page range to initialize for default settings.
|
| PageRanges ranges_vector;
|
| - InitPrintSettings(ranges_vector);
|
| + DictionaryValue header_footer_info;
|
| + header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled, false);
|
| + InitPrintSettings(ranges_vector, header_footer_info);
|
| }
|
|
|
| bool PrintDialogGtk::UpdateSettings(const DictionaryValue& settings,
|
| @@ -210,7 +212,27 @@ bool PrintDialogGtk::UpdateSettings(const DictionaryValue& settings,
|
| landscape ? GTK_PAGE_ORIENTATION_LANDSCAPE :
|
| GTK_PAGE_ORIENTATION_PORTRAIT);
|
|
|
| - InitPrintSettings(ranges);
|
| + bool display_header_footer;
|
| + // Getting Header and Footer settings.
|
| + if (!settings.GetBoolean(printing::kSettingHeaderFooterEnabled,
|
| + &display_header_footer)) {
|
| + NOTREACHED();
|
| + }
|
| + DictionaryValue header_footer_info;
|
| + header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled,
|
| + display_header_footer);
|
| + if (display_header_footer) {
|
| + string16 title;
|
| + std::string url;
|
| + if (!settings.GetString(printing::kSettingHeaderFooterTitle, &title) ||
|
| + !settings.GetString(printing::kSettingHeaderFooterURL, &url)) {
|
| + NOTREACHED();
|
| + }
|
| + header_footer_info.SetString(printing::kSettingHeaderFooterURL, url);
|
| + header_footer_info.SetString(printing::kSettingHeaderFooterTitle, title);
|
| + }
|
| +
|
| + InitPrintSettings(ranges, header_footer_info);
|
| return true;
|
| }
|
|
|
| @@ -315,8 +337,12 @@ void PrintDialogGtk::OnResponse(GtkWidget* dialog, int response_id) {
|
| }
|
|
|
| PrintSettings settings;
|
| + DictionaryValue header_footer_info;
|
| + header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled,
|
| + false);
|
| printing::PrintSettingsInitializerGtk::InitPrintSettings(
|
| - gtk_settings_, page_setup_, ranges_vector, false, &settings);
|
| + gtk_settings_, page_setup_, ranges_vector, false, header_footer_info,
|
| + &settings);
|
| context_->InitWithSettings(settings);
|
| callback_->Run(PrintingContextCairo::OK);
|
| callback_ = NULL;
|
| @@ -408,9 +434,12 @@ void PrintDialogGtk::OnJobCompleted(GtkPrintJob* print_job, GError* error) {
|
| Release();
|
| }
|
|
|
| -void PrintDialogGtk::InitPrintSettings(const PageRanges& page_ranges) {
|
| +void PrintDialogGtk::InitPrintSettings(
|
| + const PageRanges& page_ranges,
|
| + const DictionaryValue& header_footer_info) {
|
| PrintSettings settings;
|
| printing::PrintSettingsInitializerGtk::InitPrintSettings(
|
| - gtk_settings_, page_setup_, page_ranges, false, &settings);
|
| + gtk_settings_, page_setup_, page_ranges, false, header_footer_info,
|
| + &settings);
|
| context_->InitWithSettings(settings);
|
| }
|
|
|