Chromium Code Reviews| Index: webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| index a31f43ed94d99e78817ffafe28a6b843bb580e3c..0cfbb27bcbcb10441b2d421f81cddb8692344222 100644 |
| --- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
| @@ -847,10 +847,10 @@ int PluginInstance::PrintBegin(const gfx::Rect& printable_area, |
| if (!num_pages) |
| return 0; |
| current_print_settings_ = print_settings; |
| -#if defined(OS_LINUX) || defined(OS_WIN) |
| +#if defined(USE_SKIA) |
| canvas_ = NULL; |
| ranges_.clear(); |
| -#endif // OS_LINUX || OS_WIN |
| +#endif // USE_SKIA |
| return num_pages; |
| } |
| @@ -858,14 +858,19 @@ bool PluginInstance::PrintPage(int page_number, WebKit::WebCanvas* canvas) { |
| DCHECK(plugin_print_interface_); |
| PP_PrintPageNumberRange_Dev page_range; |
| page_range.first_page_number = page_range.last_page_number = page_number; |
| -#if defined(OS_LINUX) || defined(OS_WIN) |
| - // The canvas only has a metafile on it for print preview. |
| - if (printing::MetafileSkiaWrapper::GetMetafileFromCanvas(canvas)) { |
| +#if defined(USE_SKIA) |
| + // Note: The canvas only has a metafile on it for print preview. |
|
vandebo (ex-Chrome)
2011/09/27 16:49:00
nit: "Note" is redundant.
kmadhusu
2011/09/27 18:15:01
Done.
|
| + bool save_for_later = |
| + (printing::MetafileSkiaWrapper::GetMetafileFromCanvas(canvas) != NULL); |
| +#if defined(OS_MACOSX) || defined(OS_WIN) |
| + save_for_later = save_for_later && skia::IsPreviewMetafile(canvas); |
| +#endif |
| + if (save_for_later) { |
| ranges_.push_back(page_range); |
| canvas_ = canvas; |
| return true; |
| } else |
| -#endif // OS_LINUX || OS_WIN |
| +#endif // USE_SKIA |
| { |
| return PrintPageHelper(&page_range, 1, canvas); |
| } |
| @@ -897,12 +902,12 @@ bool PluginInstance::PrintPageHelper(PP_PrintPageNumberRange_Dev* page_ranges, |
| void PluginInstance::PrintEnd() { |
| // Keep a reference on the stack. See NOTE above. |
| scoped_refptr<PluginInstance> ref(this); |
| -#if defined(OS_LINUX) || defined(OS_WIN) |
| +#if defined(USE_SKIA) |
| if (!ranges_.empty()) |
| PrintPageHelper(&(ranges_.front()), ranges_.size(), canvas_.get()); |
| canvas_ = NULL; |
| ranges_.clear(); |
| -#endif // OS_LINUX || OS_WIN |
| +#endif // USE_SKIA |
| DCHECK(plugin_print_interface_); |
| if (plugin_print_interface_) |