Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: chrome/browser/ui/webui/print_preview_data_source.cc

Issue 9114062: Move chrome/browser/ui/webui/print_preview* to chrome/browser/ui/webui/print_preview/ (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: rebase Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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.
4
5 #include "chrome/browser/ui/webui/print_preview_data_source.h"
6
7 #include <algorithm>
8 #include <vector>
9
10 #include "base/message_loop.h"
11 #include "base/string_number_conversions.h"
12 #include "base/string_piece.h"
13 #include "base/string_split.h"
14 #include "base/string_util.h"
15 #include "base/utf_string_conversions.h"
16 #include "base/values.h"
17 #include "chrome/browser/printing/print_preview_data_service.h"
18 #include "chrome/common/url_constants.h"
19 #include "grit/browser_resources.h"
20 #include "grit/chromium_strings.h"
21 #include "grit/generated_resources.h"
22 #include "grit/google_chrome_strings.h"
23 #include "ui/base/l10n/l10n_util.h"
24 #include "ui/base/resource/resource_bundle.h"
25
26 namespace {
27
28 #if defined(OS_MACOSX)
29 // U+0028 U+21E7 U+2318 U+0050 U+0029 in UTF8
30 const char kAdvancedPrintShortcut[] = "\x28\xE2\x8c\xA5\xE2\x8C\x98\x50\x29";
31 #elif defined(OS_WIN)
32 const char kAdvancedPrintShortcut[] = "(Ctrl+Shift+P)";
33 #else
34 const char kAdvancedPrintShortcut[] = "(Shift+Ctrl+P)";
35 #endif
36
37 }; // namespace
38
39 PrintPreviewDataSource::PrintPreviewDataSource(bool is_dummy)
40 : ChromeWebUIDataSource(chrome::kChromeUIPrintHost) {
41 Init(is_dummy);
42 }
43
44 void PrintPreviewDataSource::Init(bool is_dummy) {
45 if (is_dummy) {
46 AddLocalizedString("intentionallyBlankText",
47 IDS_PRINT_PREVIEW_INTENTIONALLY_BLANK);
48 }
49
50 AddLocalizedString("title", IDS_PRINT_PREVIEW_TITLE);
51 AddLocalizedString("loading", IDS_PRINT_PREVIEW_LOADING);
52 #if defined(GOOGLE_CHROME_BUILD)
53 AddString("noPlugin", l10n_util::GetStringFUTF16(
54 IDS_PRINT_PREVIEW_NO_PLUGIN, ASCIIToUTF16("chrome://plugins/")));
55 #else
56 AddLocalizedString("noPlugin", IDS_PRINT_PREVIEW_NO_PLUGIN);
57 #endif
58 AddLocalizedString("launchNativeDialog", IDS_PRINT_PREVIEW_NATIVE_DIALOG);
59 AddLocalizedString("previewFailed", IDS_PRINT_PREVIEW_FAILED);
60 AddLocalizedString("invalidPrinterSettings",
61 IDS_PRINT_PREVIEW_INVALID_PRINTER_SETTINGS);
62 AddLocalizedString("printButton", IDS_PRINT_PREVIEW_PRINT_BUTTON);
63 AddLocalizedString("cancelButton", IDS_PRINT_PREVIEW_CANCEL_BUTTON);
64 AddLocalizedString("printing", IDS_PRINT_PREVIEW_PRINTING);
65 AddLocalizedString("printingToPDFInProgress",
66 IDS_PRINT_PREVIEW_PRINTING_TO_PDF_IN_PROGRESS);
67 #if defined(OS_MACOSX)
68 AddLocalizedString("openingPDFInPreview",
69 IDS_PRINT_PREVIEW_OPENING_PDF_IN_PREVIEW);
70 #endif
71 AddLocalizedString("destinationLabel", IDS_PRINT_PREVIEW_DESTINATION_LABEL);
72 AddLocalizedString("copiesLabel", IDS_PRINT_PREVIEW_COPIES_LABEL);
73 AddLocalizedString("examplePageRangeText",
74 IDS_PRINT_PREVIEW_EXAMPLE_PAGE_RANGE_TEXT);
75 AddLocalizedString("layoutLabel", IDS_PRINT_PREVIEW_LAYOUT_LABEL);
76 AddLocalizedString("optionAllPages", IDS_PRINT_PREVIEW_OPTION_ALL_PAGES);
77 AddLocalizedString("optionBw", IDS_PRINT_PREVIEW_OPTION_BW);
78 AddLocalizedString("optionCollate", IDS_PRINT_PREVIEW_OPTION_COLLATE);
79 AddLocalizedString("optionColor", IDS_PRINT_PREVIEW_OPTION_COLOR);
80 AddLocalizedString("optionLandscape", IDS_PRINT_PREVIEW_OPTION_LANDSCAPE);
81 AddLocalizedString("optionPortrait", IDS_PRINT_PREVIEW_OPTION_PORTRAIT);
82 AddLocalizedString("optionTwoSided", IDS_PRINT_PREVIEW_OPTION_TWO_SIDED);
83 AddLocalizedString("pagesLabel", IDS_PRINT_PREVIEW_PAGES_LABEL);
84 AddLocalizedString("pageRangeTextBox", IDS_PRINT_PREVIEW_PAGE_RANGE_TEXT);
85 AddLocalizedString("pageRangeRadio", IDS_PRINT_PREVIEW_PAGE_RANGE_RADIO);
86 AddLocalizedString("printToPDF", IDS_PRINT_PREVIEW_PRINT_TO_PDF);
87 AddLocalizedString("printPreviewTitleFormat", IDS_PRINT_PREVIEW_TITLE_FORMAT);
88 AddLocalizedString("printPreviewSummaryFormatShort",
89 IDS_PRINT_PREVIEW_SUMMARY_FORMAT_SHORT);
90 AddLocalizedString("printPreviewSummaryFormatLong",
91 IDS_PRINT_PREVIEW_SUMMARY_FORMAT_LONG);
92 AddLocalizedString("printPreviewSheetsLabelSingular",
93 IDS_PRINT_PREVIEW_SHEETS_LABEL_SINGULAR);
94 AddLocalizedString("printPreviewSheetsLabelPlural",
95 IDS_PRINT_PREVIEW_SHEETS_LABEL_PLURAL);
96 AddLocalizedString("printPreviewPageLabelSingular",
97 IDS_PRINT_PREVIEW_PAGE_LABEL_SINGULAR);
98 AddLocalizedString("printPreviewPageLabelPlural",
99 IDS_PRINT_PREVIEW_PAGE_LABEL_PLURAL);
100 const string16 shortcut_text(UTF8ToUTF16(kAdvancedPrintShortcut));
101 #if defined(OS_CHROMEOS)
102 AddString("cloudPrintDialogOption", l10n_util::GetStringFUTF16(
103 IDS_PRINT_PREVIEW_CLOUD_DIALOG_OPTION,
104 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT),
105 shortcut_text));
106 AddLocalizedString("printWithCloudPrint",
107 IDS_PRINT_PREVIEW_MORE_PRINTERS);
108 #else
109 AddString("systemDialogOption", l10n_util::GetStringFUTF16(
110 IDS_PRINT_PREVIEW_SYSTEM_DIALOG_OPTION,
111 shortcut_text));
112 AddString("printWithCloudPrint", l10n_util::GetStringFUTF16(
113 IDS_PRINT_PREVIEW_PRINT_WITH_CLOUD_PRINT,
114 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT)));
115 #endif
116 #if defined(OS_MACOSX)
117 AddLocalizedString("openPdfInPreviewOption",
118 IDS_PRINT_PREVIEW_OPEN_PDF_IN_PREVIEW_APP);
119 #endif
120 AddString("printWithCloudPrintWait", l10n_util::GetStringFUTF16(
121 IDS_PRINT_PREVIEW_PRINT_WITH_CLOUD_PRINT_WAIT,
122 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT)));
123 AddLocalizedString("pageRangeInstruction",
124 IDS_PRINT_PREVIEW_PAGE_RANGE_INSTRUCTION);
125 AddLocalizedString("copiesInstruction", IDS_PRINT_PREVIEW_COPIES_INSTRUCTION);
126 AddLocalizedString("signIn", IDS_PRINT_PREVIEW_SIGN_IN);
127 AddLocalizedString("managePrinters", IDS_PRINT_PREVIEW_MANAGE_PRINTERS);
128 AddLocalizedString("incrementTitle", IDS_PRINT_PREVIEW_INCREMENT_TITLE);
129 AddLocalizedString("decrementTitle", IDS_PRINT_PREVIEW_DECREMENT_TITLE);
130 AddLocalizedString("printPagesLabel", IDS_PRINT_PREVIEW_PRINT_PAGES_LABEL);
131 AddLocalizedString("optionsLabel", IDS_PRINT_PREVIEW_OPTIONS_LABEL);
132 AddLocalizedString("optionHeaderFooter",
133 IDS_PRINT_PREVIEW_OPTION_HEADER_FOOTER);
134 AddLocalizedString("marginsLabel", IDS_PRINT_PREVIEW_MARGINS_LABEL);
135 AddLocalizedString("defaultMargins", IDS_PRINT_PREVIEW_DEFAULT_MARGINS);
136 AddLocalizedString("noMargins", IDS_PRINT_PREVIEW_NO_MARGINS);
137 AddLocalizedString("customMargins", IDS_PRINT_PREVIEW_CUSTOM_MARGINS);
138 AddLocalizedString("minimumMargins", IDS_PRINT_PREVIEW_MINIMUM_MARGINS);
139 AddLocalizedString("top", IDS_PRINT_PREVIEW_TOP_MARGIN_LABEL);
140 AddLocalizedString("bottom", IDS_PRINT_PREVIEW_BOTTOM_MARGIN_LABEL);
141 AddLocalizedString("left", IDS_PRINT_PREVIEW_LEFT_MARGIN_LABEL);
142 AddLocalizedString("right", IDS_PRINT_PREVIEW_RIGHT_MARGIN_LABEL);
143
144 set_json_path("strings.js");
145 if (is_dummy) {
146 add_resource_path("print_preview_dummy.js", IDR_PRINT_PREVIEW_DUMMY_JS);
147 set_default_resource(IDR_PRINT_PREVIEW_DUMMY_HTML);
148 } else {
149 add_resource_path("print_preview.js", IDR_PRINT_PREVIEW_JS);
150 set_default_resource(IDR_PRINT_PREVIEW_HTML);
151 }
152 }
153
154 PrintPreviewDataSource::~PrintPreviewDataSource() {
155 }
156
157 void PrintPreviewDataSource::StartDataRequest(const std::string& path,
158 bool is_incognito,
159 int request_id) {
160 // Parent class handles most requests except for the print preview data.
161 if (!EndsWith(path, "/print.pdf", true)) {
162 ChromeWebUIDataSource::StartDataRequest(path, is_incognito, request_id);
163 return;
164 }
165
166 // Print Preview data.
167 scoped_refptr<RefCountedBytes> data;
168 std::vector<std::string> url_substr;
169 base::SplitString(path, '/', &url_substr);
170 int page_index = 0;
171 if (url_substr.size() == 3 && base::StringToInt(url_substr[1], &page_index)) {
172 PrintPreviewDataService::GetInstance()->GetDataEntry(
173 url_substr[0], page_index, &data);
174 }
175 if (data.get()) {
176 SendResponse(request_id, data);
177 return;
178 }
179 // Invalid request.
180 scoped_refptr<RefCountedBytes> empty_bytes(new RefCountedBytes);
181 SendResponse(request_id, empty_bytes);
182 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/print_preview_data_source.h ('k') | chrome/browser/ui/webui/print_preview_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698