summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/browser/renderer_host/pepper/pepper_print_settings_manager.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc b/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc
index d2a18b1..9fcba03 100644
--- a/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc
+++ b/content/browser/renderer_host/pepper/pepper_print_settings_manager.cc
@@ -48,15 +48,19 @@ PepperPrintSettingsManager::Result ComputeDefaultPrintSettings() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
scoped_ptr<printing::PrintingContext> context(
printing::PrintingContext::Create(std::string()));
- if (!context.get()) {
+ if (!context.get() ||
+ context->UseDefaultSettings() != printing::PrintingContext::OK) {
return PepperPrintSettingsManager::Result(PP_PrintSettings_Dev(),
PP_ERROR_FAILED);
}
- context->UseDefaultSettings();
const printing::PrintSettings& print_settings = context->settings();
const printing::PageSetup& page_setup =
print_settings.page_setup_device_units();
int device_units_per_inch = print_settings.device_units_per_inch();
+ if (device_units_per_inch <= 0) {
+ return PepperPrintSettingsManager::Result(PP_PrintSettings_Dev(),
+ PP_ERROR_FAILED);
+ }
PP_PrintSettings_Dev settings;
settings.printable_area = PrintAreaToPPPrintArea(
page_setup.printable_area(), device_units_per_inch);