Index: pdf/instance.cc |
diff --git a/pdf/instance.cc b/pdf/instance.cc |
index 8ec4a9e7e365c4243da41af98ee536c936c7ec83..469b933ac98fc408b0f397f1e12a05801ff52e32 100644 |
--- a/pdf/instance.cc |
+++ b/pdf/instance.cc |
@@ -216,9 +216,21 @@ void Transform(PP_Instance instance, PP_PrivatePageTransformType type) { |
} |
} |
+PP_Bool GetPrintPresetOptionsFromDocument( |
+ PP_Instance instance, |
+ PP_PdfPrintPresetOptions_Dev* options) { |
+ void* object = pp::Instance::GetPerInstanceObject(instance, kPPPPdfInterface); |
+ if (object) { |
+ Instance* obj_instance = static_cast<Instance*>(object); |
+ obj_instance->GetPrintPresetOptionsFromDocument(options); |
+ } |
+ return PP_TRUE; |
+} |
+ |
const PPP_Pdf ppp_private = { |
&GetLinkAtPosition, |
- &Transform |
+ &Transform, |
+ &GetPrintPresetOptionsFromDocument |
}; |
int ExtractPrintPreviewPageIndex(const std::string& src_url) { |
@@ -658,6 +670,12 @@ pp::Var Instance::GetInstanceObject() { |
return instance_object_; |
} |
+void Instance::GetPrintPresetOptionsFromDocument( |
+ PP_PdfPrintPresetOptions_Dev* options) { |
+ options->is_scaling_disabled = PP_FromBool(IsPrintScalingDisabled()); |
+ options->copies = engine_->GetCopiesToPrint(); |
+} |
+ |
pp::Var Instance::GetLinkAtPosition(const pp::Point& point) { |
pp::Point offset_point(point); |
ScalePoint(device_scale_, &offset_point); |