Chromium Code Reviews| 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 5d4fbab2da27357df937e097ea260d04d8116fe8..e1f51381c8980aa3c1ae38e425160bfc84d5eedd 100644 |
| --- a/chrome/browser/ui/webui/print_preview_handler.cc |
| +++ b/chrome/browser/ui/webui/print_preview_handler.cc |
| @@ -15,6 +15,7 @@ |
| #include "base/memory/ref_counted.h" |
| #include "base/metrics/histogram.h" |
| #include "base/path_service.h" |
| +#include "base/string_number_conversions.h" |
| #include "base/threading/thread.h" |
| #include "base/threading/thread_restrictions.h" |
| #include "base/utf_string_conversions.h" |
| @@ -476,6 +477,7 @@ void PrintPreviewHandler::HandleGetPrinters(const ListValue*) { |
| } |
| void PrintPreviewHandler::HandleGetPreview(const ListValue* args) { |
| + DCHECK(args->GetSize() == 3); |
| scoped_ptr<DictionaryValue> settings(GetSettingsDictionary(args)); |
| if (!settings.get()) |
| return; |
| @@ -518,6 +520,32 @@ void PrintPreviewHandler::HandleGetPreview(const ListValue* args) { |
| settings->SetString(printing::kSettingHeaderFooterURL, url); |
| } |
| + bool generate_draft_data; |
|
vandebo (ex-Chrome)
2011/08/29 18:21:56
nit: set default (false) here?
kmadhusu
2011/08/30 17:27:00
Default value is not required. If GetBoolean fails
|
| + if (!settings->GetBoolean(printing::kSettingGenerateDraftData, |
| + &generate_draft_data)) { |
| + generate_draft_data = false; |
| + NOTREACHED(); |
| + } |
| + |
| + if (!generate_draft_data) { |
| + int draft_page_count; |
|
vandebo (ex-Chrome)
2011/08/29 18:21:56
nit: default here?
kmadhusu
2011/08/30 17:27:00
Done.
|
| + bool preview_modifiable; |
|
vandebo (ex-Chrome)
2011/08/29 18:21:56
need default
kmadhusu
2011/08/30 17:27:00
Done.
|
| + std::string draft_page_count_str; |
| + if (!args->GetString(1, &draft_page_count_str) || |
| + !base::StringToInt(draft_page_count_str, &draft_page_count)) { |
| + NOTREACHED(); |
| + draft_page_count = -1; |
| + } |
| + |
| + if (!args->GetBoolean(2, &preview_modifiable)) |
| + NOTREACHED(); |
| + |
| + if (draft_page_count != -1 && preview_modifiable && |
| + !print_preview_ui->IsDraftPagesAvailable(draft_page_count)) { |
| + settings->SetBoolean(printing::kSettingGenerateDraftData, true); |
| + } |
| + } |
| + |
| VLOG(1) << "Print preview request start"; |
| RenderViewHost* rvh = initiator_tab->render_view_host(); |
| rvh->Send(new PrintMsg_PrintPreview(rvh->routing_id(), *settings)); |