Commit dfe53f9a authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Print Preview: Assume the ticket from WebUI always has a deviceName.

Instead of trying to handle a NOTREACHED() condition, just crash if the
impossible happens.

Change-Id: Ifbfdabe7e044c22c61b2e143d516d250319b6fe3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1854245Reviewed-by: default avatarRebekah Potter <rbpotter@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#705001}
parent 5cac786f
...@@ -212,15 +212,12 @@ bool ParseSettings(const base::Value& settings, ...@@ -212,15 +212,12 @@ bool ParseSettings(const base::Value& settings,
std::string* out_capabilities, std::string* out_capabilities,
gfx::Size* out_page_size, gfx::Size* out_page_size,
base::Value* out_ticket) { base::Value* out_ticket) {
const std::string* destination_id_opt =
settings.FindStringKey(kSettingDeviceName);
const std::string* ticket_opt = settings.FindStringKey(kSettingTicket); const std::string* ticket_opt = settings.FindStringKey(kSettingTicket);
const std::string* capabilities_opt = const std::string* capabilities_opt =
settings.FindStringKey(kSettingCapabilities); settings.FindStringKey(kSettingCapabilities);
out_page_size->SetSize(settings.FindIntKey(kSettingPageWidth).value_or(0), out_page_size->SetSize(settings.FindIntKey(kSettingPageWidth).value_or(0),
settings.FindIntKey(kSettingPageHeight).value_or(0)); settings.FindIntKey(kSettingPageHeight).value_or(0));
if (!destination_id_opt || !ticket_opt || !capabilities_opt || if (!ticket_opt || !capabilities_opt || out_page_size->IsEmpty()) {
out_page_size->IsEmpty()) {
NOTREACHED(); NOTREACHED();
return false; return false;
} }
...@@ -229,7 +226,7 @@ bool ParseSettings(const base::Value& settings, ...@@ -229,7 +226,7 @@ bool ParseSettings(const base::Value& settings,
if (!ticket_value) if (!ticket_value)
return false; return false;
*out_destination_id = *destination_id_opt; *out_destination_id = *settings.FindStringKey(kSettingDeviceName);
*out_capabilities = *capabilities_opt; *out_capabilities = *capabilities_opt;
*out_ticket = std::move(*ticket_value); *out_ticket = std::move(*ticket_value);
return true; return true;
......
...@@ -159,8 +159,6 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings, ...@@ -159,8 +159,6 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings,
base::Optional<int> color = job_settings.FindIntKey(kSettingColor); base::Optional<int> color = job_settings.FindIntKey(kSettingColor);
base::Optional<int> duplex_mode = job_settings.FindIntKey(kSettingDuplexMode); base::Optional<int> duplex_mode = job_settings.FindIntKey(kSettingDuplexMode);
base::Optional<bool> landscape = job_settings.FindBoolKey(kSettingLandscape); base::Optional<bool> landscape = job_settings.FindBoolKey(kSettingLandscape);
const std::string* device_name =
job_settings.FindStringKey(kSettingDeviceName);
base::Optional<int> scale_factor = base::Optional<int> scale_factor =
job_settings.FindIntKey(kSettingScaleFactor); job_settings.FindIntKey(kSettingScaleFactor);
base::Optional<bool> rasterize_pdf = base::Optional<bool> rasterize_pdf =
...@@ -169,7 +167,7 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings, ...@@ -169,7 +167,7 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings,
job_settings.FindIntKey(kSettingPagesPerSheet); job_settings.FindIntKey(kSettingPagesPerSheet);
if (!collate.has_value() || !copies.has_value() || !color.has_value() || if (!collate.has_value() || !copies.has_value() || !color.has_value() ||
!duplex_mode.has_value() || !landscape.has_value() || !device_name || !duplex_mode.has_value() || !landscape.has_value() ||
!scale_factor.has_value() || !rasterize_pdf.has_value() || !scale_factor.has_value() || !rasterize_pdf.has_value() ||
!pages_per_sheet.has_value()) { !pages_per_sheet.has_value()) {
return false; return false;
...@@ -188,7 +186,8 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings, ...@@ -188,7 +186,8 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings,
settings->set_collate(collate.value()); settings->set_collate(collate.value());
settings->set_copies(copies.value()); settings->set_copies(copies.value());
settings->SetOrientation(landscape.value()); settings->SetOrientation(landscape.value());
settings->set_device_name(base::UTF8ToUTF16(*device_name)); settings->set_device_name(
base::UTF8ToUTF16(*job_settings.FindStringKey(kSettingDeviceName)));
settings->set_duplex_mode(static_cast<DuplexMode>(duplex_mode.value())); settings->set_duplex_mode(static_cast<DuplexMode>(duplex_mode.value()));
settings->set_color(static_cast<ColorModel>(color.value())); settings->set_color(static_cast<ColorModel>(color.value()));
settings->set_scale_factor(static_cast<double>(scale_factor.value()) / 100.0); settings->set_scale_factor(static_cast<double>(scale_factor.value()) / 100.0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment