| Index: chrome/browser/ui/webui/print_preview/print_preview_handler.cc | 
| diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc | 
| index 77e357e1438c3b47daa4cf3af53af4bca52128d8..38e4e00cb73ca6216ab44f72c1f9891f6b4802f5 100644 | 
| --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc | 
| +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc | 
| @@ -737,7 +737,7 @@ void PrintPreviewHandler::HandleGetExtensionPrinterCapabilities( | 
| } | 
|  | 
| void PrintPreviewHandler::HandleGetPreview(const base::ListValue* args) { | 
| -  DCHECK_EQ(3U, args->GetSize()); | 
| +  DCHECK_EQ(2U, args->GetSize()); | 
| std::unique_ptr<base::DictionaryValue> settings = GetSettingsDictionary(args); | 
| if (!settings) | 
| return; | 
| @@ -794,18 +794,20 @@ void PrintPreviewHandler::HandleGetPreview(const base::ListValue* args) { | 
| DCHECK(success); | 
|  | 
| if (!generate_draft_data) { | 
| -    double draft_page_count_double = -1; | 
| -    success = args->GetDouble(1, &draft_page_count_double); | 
| +    int page_count = -1; | 
| +    success = args->GetInteger(1, &page_count); | 
| DCHECK(success); | 
| -    int draft_page_count = static_cast<int>(draft_page_count_double); | 
|  | 
| -    bool preview_modifiable = false; | 
| -    success = args->GetBoolean(2, &preview_modifiable); | 
| -    DCHECK(success); | 
| +    if (page_count != -1) { | 
| +      bool preview_modifiable = false; | 
| +      success = settings->GetBoolean(printing::kSettingPreviewModifiable, | 
| +                                     &preview_modifiable); | 
| +      DCHECK(success); | 
|  | 
| -    if (draft_page_count != -1 && preview_modifiable && | 
| -        print_preview_ui()->GetAvailableDraftPageCount() != draft_page_count) { | 
| -      settings->SetBoolean(printing::kSettingGenerateDraftData, true); | 
| +      if (preview_modifiable && | 
| +          print_preview_ui()->GetAvailableDraftPageCount() != page_count) { | 
| +        settings->SetBoolean(printing::kSettingGenerateDraftData, true); | 
| +      } | 
| } | 
| } | 
|  | 
|  |