diff options
author | tzik <tzik@chromium.org> | 2015-11-18 12:34:55 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-18 20:36:27 +0000 |
commit | 904f19454a71c733205d9e68bc8faa93a6fdce3e (patch) | |
tree | e694f1fbbc0095de24d8b2036ca0fbb834de05a5 /printing | |
parent | 39d3fc5ae0fd106d050bbdbcf2717ba7314244f3 (diff) | |
download | chromium_src-904f19454a71c733205d9e68bc8faa93a6fdce3e.zip chromium_src-904f19454a71c733205d9e68bc8faa93a6fdce3e.tar.gz chromium_src-904f19454a71c733205d9e68bc8faa93a6fdce3e.tar.bz2 |
Mark base::Tuple as final
Extending tuple confuses the compiler when we replace
base::Tuple with std::tuple.
This CL removes a base::Tuple extension and forbids it.
BUG=554987
Review URL: https://codereview.chromium.org/1462443002
Cr-Commit-Position: refs/heads/master@{#360404}
Diffstat (limited to 'printing')
-rw-r--r-- | printing/pdf_render_settings.h | 51 |
1 files changed, 35 insertions, 16 deletions
diff --git a/printing/pdf_render_settings.h b/printing/pdf_render_settings.h index 3f8f38b..a2e182e 100644 --- a/printing/pdf_render_settings.h +++ b/printing/pdf_render_settings.h @@ -5,40 +5,59 @@ #ifndef PRINTING_PDF_RENDER_SETTINGS_H_ #define PRINTING_PDF_RENDER_SETTINGS_H_ -#include "base/tuple.h" +#include "ipc/ipc_message_utils.h" #include "ipc/ipc_param_traits.h" #include "printing/printing_export.h" #include "ui/gfx/geometry/rect.h" +#include "ui/gfx/ipc/gfx_param_traits.h" namespace printing { -// Defining PDF rendering settings here as a Tuple as following: -// gfx::Rect - render area -// int - render dpi -// bool - autorotate pages to fit paper -typedef base::Tuple<gfx::Rect, int, bool> PdfRenderSettingsBase; - -class PdfRenderSettings : public PdfRenderSettingsBase { +// Defining PDF rendering settings. +class PdfRenderSettings { public: - PdfRenderSettings() : PdfRenderSettingsBase() {} + PdfRenderSettings() {} PdfRenderSettings(gfx::Rect area, int dpi, bool autorotate) - : PdfRenderSettingsBase(area, dpi, autorotate) {} + : area_(area), dpi_(dpi), autorotate_(autorotate) {} ~PdfRenderSettings() {} - const gfx::Rect& area() const { return base::get<0>(*this); } - int dpi() const { return base::get<1>(*this); } - bool autorotate() const { return base::get<2>(*this); } + const gfx::Rect& area() const { return area_; } + int dpi() const { return dpi_; } + bool autorotate() const { return autorotate_; } + + gfx::Rect area_; + int dpi_; + bool autorotate_; }; } // namespace printing namespace IPC { template <> -struct SimilarTypeTraits<printing::PdfRenderSettings> { - typedef printing::PdfRenderSettingsBase Type; +struct ParamTraits<printing::PdfRenderSettings> { + typedef printing::PdfRenderSettings param_type; + static void Write(Message* m, const param_type& p) { + WriteParam(m, p.area_); + WriteParam(m, p.dpi_); + WriteParam(m, p.autorotate_); + } + + static bool Read(const Message* m, base::PickleIterator* iter, + param_type* r) { + return ReadParam(m, iter, &r->area_) && + ReadParam(m, iter, &r->dpi_) && + ReadParam(m, iter, &r->autorotate_); + } + + static void Log(const param_type& p, std::string* l) { + LogParam(p.area_, l); + l->append(", "); + LogParam(p.dpi_, l); + l->append(", "); + LogParam(p.autorotate_, l); + } }; } // namespace IPC #endif // PRINTING_PDF_RENDER_SETTINGS_H_ - |