| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 "chrome/browser/ui/webui/print_preview_handler.h" | 5 #include "chrome/browser/ui/webui/print_preview_handler.h" |
| 6 | 6 |
| 7 #include <ctype.h> | 7 #include <ctype.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 // headers and footers are to be displayed. | 301 // headers and footers are to be displayed. |
| 302 bool display_header_footer = false; | 302 bool display_header_footer = false; |
| 303 if (!settings->GetBoolean(printing::kSettingHeaderFooterEnabled, | 303 if (!settings->GetBoolean(printing::kSettingHeaderFooterEnabled, |
| 304 &display_header_footer)) { | 304 &display_header_footer)) { |
| 305 NOTREACHED(); | 305 NOTREACHED(); |
| 306 } | 306 } |
| 307 if (display_header_footer) { | 307 if (display_header_footer) { |
| 308 settings->SetString(printing::kSettingHeaderFooterTitle, | 308 settings->SetString(printing::kSettingHeaderFooterTitle, |
| 309 initiator_tab->tab_contents()->GetTitle()); | 309 initiator_tab->tab_contents()->GetTitle()); |
| 310 std::string url; | 310 std::string url; |
| 311 NavigationEntry* entry = initiator_tab->controller().GetActiveEntry(); | 311 NavigationEntry* entry = |
| 312 initiator_tab->tab_contents()->controller().GetActiveEntry(); |
| 312 if (entry) | 313 if (entry) |
| 313 url = entry->virtual_url().spec(); | 314 url = entry->virtual_url().spec(); |
| 314 settings->SetString(printing::kSettingHeaderFooterURL, url); | 315 settings->SetString(printing::kSettingHeaderFooterURL, url); |
| 315 } | 316 } |
| 316 | 317 |
| 317 bool generate_draft_data = false; | 318 bool generate_draft_data = false; |
| 318 bool success = settings->GetBoolean(printing::kSettingGenerateDraftData, | 319 bool success = settings->GetBoolean(printing::kSettingGenerateDraftData, |
| 319 &generate_draft_data); | 320 &generate_draft_data); |
| 320 DCHECK(success); | 321 DCHECK(success); |
| 321 | 322 |
| 322 if (!generate_draft_data) { | 323 if (!generate_draft_data) { |
| 323 double draft_page_count_double = -1; | 324 double draft_page_count_double = -1; |
| 324 success = args->GetDouble(1, &draft_page_count_double); | 325 success = args->GetDouble(1, &draft_page_count_double); |
| 325 DCHECK(success); | 326 DCHECK(success); |
| 326 int draft_page_count = static_cast<int>(draft_page_count_double); | 327 int draft_page_count = static_cast<int>(draft_page_count_double); |
| 327 | 328 |
| 328 bool preview_modifiable = false; | 329 bool preview_modifiable = false; |
| 329 success = args->GetBoolean(2, &preview_modifiable); | 330 success = args->GetBoolean(2, &preview_modifiable); |
| 330 DCHECK(success); | 331 DCHECK(success); |
| 331 | 332 |
| 332 if (draft_page_count != -1 && preview_modifiable && | 333 if (draft_page_count != -1 && preview_modifiable && |
| 333 print_preview_ui->GetAvailableDraftPageCount() != draft_page_count) { | 334 print_preview_ui->GetAvailableDraftPageCount() != draft_page_count) { |
| 334 settings->SetBoolean(printing::kSettingGenerateDraftData, true); | 335 settings->SetBoolean(printing::kSettingGenerateDraftData, true); |
| 335 } | 336 } |
| 336 } | 337 } |
| 337 | 338 |
| 338 VLOG(1) << "Print preview request start"; | 339 VLOG(1) << "Print preview request start"; |
| 339 RenderViewHost* rvh = initiator_tab->render_view_host(); | 340 RenderViewHost* rvh = initiator_tab->tab_contents()->render_view_host(); |
| 340 rvh->Send(new PrintMsg_PrintPreview(rvh->routing_id(), *settings)); | 341 rvh->Send(new PrintMsg_PrintPreview(rvh->routing_id(), *settings)); |
| 341 } | 342 } |
| 342 | 343 |
| 343 void PrintPreviewHandler::HandlePrint(const ListValue* args) { | 344 void PrintPreviewHandler::HandlePrint(const ListValue* args) { |
| 344 ReportStats(); | 345 ReportStats(); |
| 345 | 346 |
| 346 // Record the number of times the user requests to regenerate preview data | 347 // Record the number of times the user requests to regenerate preview data |
| 347 // before printing. | 348 // before printing. |
| 348 UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforePrint", | 349 UMA_HISTOGRAM_COUNTS("PrintPreview.RegeneratePreviewRequest.BeforePrint", |
| 349 regenerate_preview_request_count_); | 350 regenerate_preview_request_count_); |
| 350 | 351 |
| 351 TabContentsWrapper* initiator_tab = GetInitiatorTab(); | 352 TabContentsWrapper* initiator_tab = GetInitiatorTab(); |
| 352 CHECK(initiator_tab); | 353 CHECK(initiator_tab); |
| 353 | 354 |
| 354 RenderViewHost* init_rvh = initiator_tab->render_view_host(); | 355 RenderViewHost* init_rvh = initiator_tab->tab_contents()->render_view_host(); |
| 355 init_rvh->Send(new PrintMsg_ResetScriptedPrintCount(init_rvh->routing_id())); | 356 init_rvh->Send(new PrintMsg_ResetScriptedPrintCount(init_rvh->routing_id())); |
| 356 | 357 |
| 357 scoped_ptr<DictionaryValue> settings(GetSettingsDictionary(args)); | 358 scoped_ptr<DictionaryValue> settings(GetSettingsDictionary(args)); |
| 358 if (!settings.get()) | 359 if (!settings.get()) |
| 359 return; | 360 return; |
| 360 | 361 |
| 361 // Storing last used color model. | 362 // Storing last used color model. |
| 362 int color_model; | 363 int color_model; |
| 363 if (!settings->GetInteger(printing::kSettingColor, &color_model)) | 364 if (!settings->GetInteger(printing::kSettingColor, &color_model)) |
| 364 color_model = printing::GRAY; | 365 color_model = printing::GRAY; |
| (...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 837 return; | 838 return; |
| 838 | 839 |
| 839 // We no longer require the initiator tab details. Remove those details | 840 // We no longer require the initiator tab details. Remove those details |
| 840 // associated with the preview tab to allow the initiator tab to create | 841 // associated with the preview tab to allow the initiator tab to create |
| 841 // another preview tab. | 842 // another preview tab. |
| 842 printing::PrintPreviewTabController* tab_controller = | 843 printing::PrintPreviewTabController* tab_controller = |
| 843 printing::PrintPreviewTabController::GetInstance(); | 844 printing::PrintPreviewTabController::GetInstance(); |
| 844 if (tab_controller) | 845 if (tab_controller) |
| 845 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper()); | 846 tab_controller->EraseInitiatorTabInfo(preview_tab_wrapper()); |
| 846 } | 847 } |
| OLD | NEW |