summaryrefslogtreecommitdiffstats
path: root/printing
diff options
context:
space:
mode:
authortzik <tzik@chromium.org>2015-11-18 12:34:55 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-18 20:36:27 +0000
commit904f19454a71c733205d9e68bc8faa93a6fdce3e (patch)
treee694f1fbbc0095de24d8b2036ca0fbb834de05a5 /printing
parent39d3fc5ae0fd106d050bbdbcf2717ba7314244f3 (diff)
downloadchromium_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.h51
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_
-