Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: printing/pdf_render_settings.h

Issue 2640033005: Substitute boolean GDI printing for a mode type (Closed)
Patch Set: Substitute boolean GDI printing for non boolean Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/utility/printing_handler.cc ('k') | tools/ipc_fuzzer/fuzzer/fuzzer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: printing/pdf_render_settings.h
diff --git a/printing/pdf_render_settings.h b/printing/pdf_render_settings.h
index d9e8f9e7801fe134fa689712a33a3eb4f4c9a9aa..a0c0da93d0cc41bb6edee58932d39fe4469611a6 100644
--- a/printing/pdf_render_settings.h
+++ b/printing/pdf_render_settings.h
@@ -16,14 +16,22 @@ namespace printing {
// Defining PDF rendering settings.
struct PdfRenderSettings {
- PdfRenderSettings() : dpi(0), autorotate(false) {}
- PdfRenderSettings(gfx::Rect area, int dpi, bool autorotate)
- : area(area), dpi(dpi), autorotate(autorotate) {}
+ enum class Mode : uint8_t {
+ NORMAL = 0,
+#if defined(OS_WIN)
+ GDI_TEXT,
+#endif
+ };
+
+ PdfRenderSettings() : dpi(0), autorotate(false), mode(Mode::NORMAL) {}
+ PdfRenderSettings(gfx::Rect area, int dpi, bool autorotate, Mode mode)
+ : area(area), dpi(dpi), autorotate(autorotate), mode(mode) {}
~PdfRenderSettings() {}
gfx::Rect area;
int dpi;
bool autorotate;
+ Mode mode;
};
} // namespace printing
@@ -31,19 +39,25 @@ struct PdfRenderSettings {
namespace IPC {
template <>
struct ParamTraits<printing::PdfRenderSettings> {
- typedef printing::PdfRenderSettings param_type;
+ using param_type = printing::PdfRenderSettings;
static void Write(base::Pickle* m, const param_type& p) {
WriteParam(m, p.area);
WriteParam(m, p.dpi);
WriteParam(m, p.autorotate);
+ WriteParam(m, static_cast<uint8_t>(p.mode));
}
static bool Read(const base::Pickle* m,
base::PickleIterator* iter,
param_type* r) {
- return ReadParam(m, iter, &r->area) &&
- ReadParam(m, iter, &r->dpi) &&
- ReadParam(m, iter, &r->autorotate);
+ uint8_t mode = 0;
+ bool ret = ReadParam(m, iter, &r->area) &&
+ ReadParam(m, iter, &r->dpi) &&
+ ReadParam(m, iter, &r->autorotate) &&
+ ReadParam(m, iter, &mode);
+ if (ret)
+ r->mode = static_cast<printing::PdfRenderSettings::Mode>(mode);
Tom Sepez 2017/01/23 21:14:08 Need to validate that mode is in range here or use
Vitaly Buka (NO REVIEWS) 2017/01/23 22:03:30 Better to use IPC macros
rbpotter 2017/01/24 02:22:01 Done. I switched the entire structure to use the
+ return ret;
}
static void Log(const param_type& p, std::string* l) {
@@ -52,6 +66,8 @@ struct ParamTraits<printing::PdfRenderSettings> {
LogParam(p.dpi, l);
l->append(", ");
LogParam(p.autorotate, l);
+ l->append(", ");
+ LogParam(static_cast<uint8_t>(p.mode), l);
}
};
« no previous file with comments | « chrome/utility/printing_handler.cc ('k') | tools/ipc_fuzzer/fuzzer/fuzzer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698