| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/common/cc_messages.h" | 5 #include "content/common/cc_messages.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/numerics/safe_conversions.h" | 10 #include "base/numerics/safe_conversions.h" |
| 11 #include "cc/output/compositor_frame.h" | 11 #include "cc/output/compositor_frame.h" |
| 12 #include "cc/output/filter_operations.h" | 12 #include "cc/output/filter_operations.h" |
| 13 #include "cc/quads/draw_quad.h" | 13 #include "cc/quads/draw_quad.h" |
| 14 #include "cc/quads/largest_draw_quad.h" | 14 #include "cc/quads/largest_draw_quad.h" |
| 15 #include "cc/quads/render_pass_id.h" | 15 #include "cc/quads/render_pass_id.h" |
| 16 #include "content/public/common/common_param_traits.h" | 16 #include "content/public/common/common_param_traits.h" |
| 17 #include "third_party/skia/include/core/SkData.h" | 17 #include "third_party/skia/include/core/SkData.h" |
| 18 #include "third_party/skia/include/core/SkFlattenableSerialization.h" | 18 #include "third_party/skia/include/core/SkFlattenableSerialization.h" |
| 19 #include "ui/gfx/transform.h" | |
| 20 | 19 |
| 21 namespace IPC { | 20 namespace IPC { |
| 22 | 21 |
| 23 void ParamTraits<cc::FilterOperation>::Write(base::Pickle* m, | 22 void ParamTraits<cc::FilterOperation>::Write(base::Pickle* m, |
| 24 const param_type& p) { | 23 const param_type& p) { |
| 25 WriteParam(m, p.type()); | 24 WriteParam(m, p.type()); |
| 26 switch (p.type()) { | 25 switch (p.type()) { |
| 27 case cc::FilterOperation::GRAYSCALE: | 26 case cc::FilterOperation::GRAYSCALE: |
| 28 case cc::FilterOperation::SEPIA: | 27 case cc::FilterOperation::SEPIA: |
| 29 case cc::FilterOperation::SATURATE: | 28 case cc::FilterOperation::SATURATE: |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 return true; | 248 return true; |
| 250 } | 249 } |
| 251 | 250 |
| 252 void ParamTraits<skia::RefPtr<SkImageFilter> >::Log( | 251 void ParamTraits<skia::RefPtr<SkImageFilter> >::Log( |
| 253 const param_type& p, std::string* l) { | 252 const param_type& p, std::string* l) { |
| 254 l->append("("); | 253 l->append("("); |
| 255 LogParam(p.get() ? p->countInputs() : 0, l); | 254 LogParam(p.get() ? p->countInputs() : 0, l); |
| 256 l->append(")"); | 255 l->append(")"); |
| 257 } | 256 } |
| 258 | 257 |
| 259 void ParamTraits<gfx::Transform>::Write(base::Pickle* m, const param_type& p) { | |
| 260 #ifdef SK_MSCALAR_IS_FLOAT | |
| 261 float column_major_data[16]; | |
| 262 p.matrix().asColMajorf(column_major_data); | |
| 263 #else | |
| 264 double column_major_data[16]; | |
| 265 p.matrix().asColMajord(column_major_data); | |
| 266 #endif | |
| 267 m->WriteBytes(&column_major_data, sizeof(SkMScalar) * 16); | |
| 268 } | |
| 269 | |
| 270 bool ParamTraits<gfx::Transform>::Read(const base::Pickle* m, | |
| 271 base::PickleIterator* iter, | |
| 272 param_type* r) { | |
| 273 const char* column_major_data; | |
| 274 if (!iter->ReadBytes(&column_major_data, sizeof(SkMScalar) * 16)) | |
| 275 return false; | |
| 276 r->matrix().setColMajor( | |
| 277 reinterpret_cast<const SkMScalar*>(column_major_data)); | |
| 278 return true; | |
| 279 } | |
| 280 | |
| 281 void ParamTraits<gfx::Transform>::Log( | |
| 282 const param_type& p, std::string* l) { | |
| 283 #ifdef SK_MSCALAR_IS_FLOAT | |
| 284 float row_major_data[16]; | |
| 285 p.matrix().asRowMajorf(row_major_data); | |
| 286 #else | |
| 287 double row_major_data[16]; | |
| 288 p.matrix().asRowMajord(row_major_data); | |
| 289 #endif | |
| 290 l->append("("); | |
| 291 for (int i = 0; i < 16; ++i) { | |
| 292 if (i > 0) | |
| 293 l->append(", "); | |
| 294 LogParam(row_major_data[i], l); | |
| 295 } | |
| 296 l->append(") "); | |
| 297 } | |
| 298 | |
| 299 void ParamTraits<cc::RenderPass>::Write(base::Pickle* m, const param_type& p) { | 258 void ParamTraits<cc::RenderPass>::Write(base::Pickle* m, const param_type& p) { |
| 300 WriteParam(m, p.id); | 259 WriteParam(m, p.id); |
| 301 WriteParam(m, p.output_rect); | 260 WriteParam(m, p.output_rect); |
| 302 WriteParam(m, p.damage_rect); | 261 WriteParam(m, p.damage_rect); |
| 303 WriteParam(m, p.transform_to_root_target); | 262 WriteParam(m, p.transform_to_root_target); |
| 304 WriteParam(m, p.has_transparent_background); | 263 WriteParam(m, p.has_transparent_background); |
| 305 WriteParam(m, base::checked_cast<uint32_t>(p.quad_list.size())); | 264 WriteParam(m, base::checked_cast<uint32_t>(p.quad_list.size())); |
| 306 | 265 |
| 307 cc::SharedQuadStateList::ConstIterator shared_quad_state_iter = | 266 cc::SharedQuadStateList::ConstIterator shared_quad_state_iter = |
| 308 p.shared_quad_state_list.begin(); | 267 p.shared_quad_state_list.begin(); |
| (...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 846 l->append("TextureDrawQuad::OverlayResources(["); | 805 l->append("TextureDrawQuad::OverlayResources(["); |
| 847 for (size_t i = 0; i < cc::DrawQuad::Resources::kMaxResourceIdCount; ++i) { | 806 for (size_t i = 0; i < cc::DrawQuad::Resources::kMaxResourceIdCount; ++i) { |
| 848 LogParam(p.size_in_pixels[i], l); | 807 LogParam(p.size_in_pixels[i], l); |
| 849 if (i < (cc::DrawQuad::Resources::kMaxResourceIdCount - 1)) | 808 if (i < (cc::DrawQuad::Resources::kMaxResourceIdCount - 1)) |
| 850 l->append(", "); | 809 l->append(", "); |
| 851 } | 810 } |
| 852 l->append("])"); | 811 l->append("])"); |
| 853 } | 812 } |
| 854 | 813 |
| 855 } // namespace IPC | 814 } // namespace IPC |
| OLD | NEW |