Printing: Refactor PrintSettings::Init into a PrintSettingsFactory class
per-platform.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/4040001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63907 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/printing/printing_context_win.cc b/printing/printing_context_win.cc
index 9d855cd..9cd65f98 100644
--- a/printing/printing_context_win.cc
+++ b/printing/printing_context_win.cc
@@ -12,6 +12,7 @@
#include "base/message_loop.h"
#include "base/time.h"
#include "base/utf_string_conversions.h"
+#include "printing/print_settings_initializer_win.h"
#include "printing/printed_document.h"
#include "skia/ext/platform_device_win.h"
@@ -212,8 +213,10 @@
PrintingContext::Result PrintingContextWin::InitWithSettings(
const PrintSettings& settings) {
DCHECK(!in_print_job_);
+
settings_ = settings;
- // TODO(maruel): settings_->ToDEVMODE()
+
+ // TODO(maruel): settings_.ToDEVMODE()
HANDLE printer;
if (!OpenPrinter(const_cast<wchar_t*>(settings_.device_name().c_str()),
&printer,
@@ -393,11 +396,14 @@
ranges_vector.push_back(range);
}
}
- settings_.Init(context_,
- dev_mode,
- ranges_vector,
- new_device_name,
- selection_only);
+
+ PrintSettingsInitializerWin::InitPrintSettings(context_,
+ dev_mode,
+ ranges_vector,
+ new_device_name,
+ selection_only,
+ &settings_);
+
return true;
}