namespace printing {
// static
-PrintingContext* PrintingContext::Create(const std::string& app_locale) {
- return static_cast<PrintingContext*>(
- new PrintingContextNoSystemDialog(app_locale));
+scoped_ptr<PrintingContext> PrintingContext::Create(Delegate* delegate) {
+ return make_scoped_ptr<PrintingContext>(
+ new PrintingContextNoSystemDialog(delegate));
}
-PrintingContextNoSystemDialog::PrintingContextNoSystemDialog(
- const std::string& app_locale) : PrintingContext(app_locale) {
+PrintingContextNoSystemDialog::PrintingContextNoSystemDialog(Delegate* delegate)
+ : PrintingContext(delegate) {
}
PrintingContextNoSystemDialog::~PrintingContextNoSystemDialog() {
}
void PrintingContextNoSystemDialog::AskUserForSettings(
- gfx::NativeView parent_view,
int max_pages,
bool has_selection,
const PrintSettingsCallback& callback) {
int32_t width = 0;
int32_t height = 0;
UErrorCode error = U_ZERO_ERROR;
- ulocdata_getPaperSize(app_locale_.c_str(), &height, &width, &error);
+ ulocdata_getPaperSize(
+ delegate_->GetAppLocale().c_str(), &height, &width, &error);
if (error > U_ZERO_ERROR) {
// If the call failed, assume a paper size of 8.5 x 11 inches.
LOG(WARNING) << "ulocdata_getPaperSize failed, using 8.5 x 11, error: "
}
PrintingContext::Result PrintingContextNoSystemDialog::UpdatePrinterSettings(
- bool external_preview) {
+ bool external_preview,
+ bool show_system_dialog) {
+ DCHECK(!show_system_dialog);
if (settings_.dpi() == 0)
UseDefaultSettings();