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
3 // found in the LICENSE file.
5 #include "printing/print_settings_initializer.h"
11 #include "base/i18n/time_formatting.h"
12 #include "base/strings/string_number_conversions.h"
13 #include "base/strings/utf_string_conversions.h"
14 #include "base/time/time.h"
15 #include "base/values.h"
16 #include "printing/print_job_constants.h"
17 #include "printing/print_settings.h"
18 #include "printing/units.h"
19 #include "ui/base/resource/resource_bundle.h"
20 #include "ui/gfx/font_list.h"
21 #include "ui/gfx/text_elider.h"
26 void PrintSettingsInitializer::InitHeaderFooterStrings(
27 const base::DictionaryValue
& job_settings
,
28 PrintSettings
* print_settings
) {
29 if (!job_settings
.GetBoolean(kSettingHeaderFooterEnabled
,
30 &print_settings
->display_header_footer
)) {
33 if (!print_settings
->display_header_footer
)
36 base::string16 date
= base::TimeFormatShortDateNumeric(base::Time::Now());
39 if (!job_settings
.GetString(kSettingHeaderFooterTitle
, &title
) ||
40 !job_settings
.GetString(kSettingHeaderFooterURL
, &url
)) {
44 print_settings
->date
= date
;
45 print_settings
->title
= title
;
46 const gfx::FontList
& default_fonts
=
47 ui::ResourceBundle::GetSharedInstance().GetFontList(
48 ui::ResourceBundle::BaseFont
);
49 print_settings
->url
= gfx::ElideUrl(GURL(url
), default_fonts
, 0,
53 } // namespace printing