| 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 "cc/output/compositor_frame.h" | 7 #include "cc/output/compositor_frame.h" |
| 8 #include "cc/output/filter_operations.h" |
| 8 #include "content/public/common/common_param_traits.h" | 9 #include "content/public/common/common_param_traits.h" |
| 9 #include "third_party/WebKit/public/platform/WebFilterOperations.h" | |
| 10 #include "ui/gfx/transform.h" | 10 #include "ui/gfx/transform.h" |
| 11 | 11 |
| 12 namespace IPC { | 12 namespace IPC { |
| 13 | 13 |
| 14 void ParamTraits<WebKit::WebFilterOperation>::Write( | 14 void ParamTraits<cc::FilterOperation>::Write( |
| 15 Message* m, const param_type& p) { | 15 Message* m, const param_type& p) { |
| 16 WriteParam(m, p.type()); | 16 WriteParam(m, p.type()); |
| 17 switch (p.type()) { | 17 switch (p.type()) { |
| 18 case WebKit::WebFilterOperation::FilterTypeGrayscale: | 18 case cc::FilterOperation::FilterTypeGrayscale: |
| 19 case WebKit::WebFilterOperation::FilterTypeSepia: | 19 case cc::FilterOperation::FilterTypeSepia: |
| 20 case WebKit::WebFilterOperation::FilterTypeSaturate: | 20 case cc::FilterOperation::FilterTypeSaturate: |
| 21 case WebKit::WebFilterOperation::FilterTypeHueRotate: | 21 case cc::FilterOperation::FilterTypeHueRotate: |
| 22 case WebKit::WebFilterOperation::FilterTypeInvert: | 22 case cc::FilterOperation::FilterTypeInvert: |
| 23 case WebKit::WebFilterOperation::FilterTypeBrightness: | 23 case cc::FilterOperation::FilterTypeBrightness: |
| 24 case WebKit::WebFilterOperation::FilterTypeSaturatingBrightness: | 24 case cc::FilterOperation::FilterTypeSaturatingBrightness: |
| 25 case WebKit::WebFilterOperation::FilterTypeContrast: | 25 case cc::FilterOperation::FilterTypeContrast: |
| 26 case WebKit::WebFilterOperation::FilterTypeOpacity: | 26 case cc::FilterOperation::FilterTypeOpacity: |
| 27 case WebKit::WebFilterOperation::FilterTypeBlur: | 27 case cc::FilterOperation::FilterTypeBlur: |
| 28 WriteParam(m, p.amount()); | 28 WriteParam(m, p.amount()); |
| 29 break; | 29 break; |
| 30 case WebKit::WebFilterOperation::FilterTypeDropShadow: | 30 case cc::FilterOperation::FilterTypeDropShadow: |
| 31 WriteParam(m, p.dropShadowOffset()); | 31 WriteParam(m, p.drop_shadow_offset()); |
| 32 WriteParam(m, p.amount()); | 32 WriteParam(m, p.amount()); |
| 33 WriteParam(m, p.dropShadowColor()); | 33 WriteParam(m, p.drop_shadow_color()); |
| 34 break; | 34 break; |
| 35 case WebKit::WebFilterOperation::FilterTypeColorMatrix: | 35 case cc::FilterOperation::FilterTypeColorMatrix: |
| 36 for (int i = 0; i < 20; ++i) | 36 for (int i = 0; i < 20; ++i) |
| 37 WriteParam(m, p.matrix()[i]); | 37 WriteParam(m, p.matrix()[i]); |
| 38 break; | 38 break; |
| 39 case WebKit::WebFilterOperation::FilterTypeZoom: | 39 case cc::FilterOperation::FilterTypeZoom: |
| 40 WriteParam(m, p.amount()); | 40 WriteParam(m, p.amount()); |
| 41 WriteParam(m, p.zoomInset()); | 41 WriteParam(m, p.zoom_inset()); |
| 42 break; | 42 break; |
| 43 } | 43 } |
| 44 } | 44 } |
| 45 | 45 |
| 46 bool ParamTraits<WebKit::WebFilterOperation>::Read( | 46 bool ParamTraits<cc::FilterOperation>::Read( |
| 47 const Message* m, PickleIterator* iter, param_type* r) { | 47 const Message* m, PickleIterator* iter, param_type* r) { |
| 48 WebKit::WebFilterOperation::FilterType type; | 48 cc::FilterOperation::FilterType type; |
| 49 float amount; | 49 float amount; |
| 50 WebKit::WebPoint dropShadowOffset; | 50 gfx::Point drop_shadow_offset; |
| 51 WebKit::WebColor dropShadowColor; | 51 SkColor drop_shadow_color; |
| 52 SkScalar matrix[20]; | 52 SkScalar matrix[20]; |
| 53 int zoom_inset; | 53 int zoom_inset; |
| 54 | 54 |
| 55 if (!ReadParam(m, iter, &type)) | 55 if (!ReadParam(m, iter, &type)) |
| 56 return false; | 56 return false; |
| 57 r->setType(type); | 57 r->set_type(type); |
| 58 | 58 |
| 59 bool success = false; | 59 bool success = false; |
| 60 switch (type) { | 60 switch (type) { |
| 61 case WebKit::WebFilterOperation::FilterTypeGrayscale: | 61 case cc::FilterOperation::FilterTypeGrayscale: |
| 62 case WebKit::WebFilterOperation::FilterTypeSepia: | 62 case cc::FilterOperation::FilterTypeSepia: |
| 63 case WebKit::WebFilterOperation::FilterTypeSaturate: | 63 case cc::FilterOperation::FilterTypeSaturate: |
| 64 case WebKit::WebFilterOperation::FilterTypeHueRotate: | 64 case cc::FilterOperation::FilterTypeHueRotate: |
| 65 case WebKit::WebFilterOperation::FilterTypeInvert: | 65 case cc::FilterOperation::FilterTypeInvert: |
| 66 case WebKit::WebFilterOperation::FilterTypeBrightness: | 66 case cc::FilterOperation::FilterTypeBrightness: |
| 67 case WebKit::WebFilterOperation::FilterTypeSaturatingBrightness: | 67 case cc::FilterOperation::FilterTypeSaturatingBrightness: |
| 68 case WebKit::WebFilterOperation::FilterTypeContrast: | 68 case cc::FilterOperation::FilterTypeContrast: |
| 69 case WebKit::WebFilterOperation::FilterTypeOpacity: | 69 case cc::FilterOperation::FilterTypeOpacity: |
| 70 case WebKit::WebFilterOperation::FilterTypeBlur: | 70 case cc::FilterOperation::FilterTypeBlur: |
| 71 if (ReadParam(m, iter, &amount)) { | 71 if (ReadParam(m, iter, &amount)) { |
| 72 r->setAmount(amount); | 72 r->set_amount(amount); |
| 73 success = true; | 73 success = true; |
| 74 } | 74 } |
| 75 break; | 75 break; |
| 76 case WebKit::WebFilterOperation::FilterTypeDropShadow: | 76 case cc::FilterOperation::FilterTypeDropShadow: |
| 77 if (ReadParam(m, iter, &dropShadowOffset) && | 77 if (ReadParam(m, iter, &drop_shadow_offset) && |
| 78 ReadParam(m, iter, &amount) && | 78 ReadParam(m, iter, &amount) && |
| 79 ReadParam(m, iter, &dropShadowColor)) { | 79 ReadParam(m, iter, &drop_shadow_color)) { |
| 80 r->setDropShadowOffset(dropShadowOffset); | 80 r->set_drop_shadow_offset(drop_shadow_offset); |
| 81 r->setAmount(amount); | 81 r->set_amount(amount); |
| 82 r->setDropShadowColor(dropShadowColor); | 82 r->set_drop_shadow_color(drop_shadow_color); |
| 83 success = true; | 83 success = true; |
| 84 } | 84 } |
| 85 break; | 85 break; |
| 86 case WebKit::WebFilterOperation::FilterTypeColorMatrix: { | 86 case cc::FilterOperation::FilterTypeColorMatrix: { |
| 87 int i; | 87 int i; |
| 88 for (i = 0; i < 20; ++i) { | 88 for (i = 0; i < 20; ++i) { |
| 89 if (!ReadParam(m, iter, &matrix[i])) | 89 if (!ReadParam(m, iter, &matrix[i])) |
| 90 break; | 90 break; |
| 91 } | 91 } |
| 92 if (i == 20) { | 92 if (i == 20) { |
| 93 r->setMatrix(matrix); | 93 r->set_matrix(matrix); |
| 94 success = true; | 94 success = true; |
| 95 } | 95 } |
| 96 break; | 96 break; |
| 97 } | 97 } |
| 98 case WebKit::WebFilterOperation::FilterTypeZoom: | 98 case cc::FilterOperation::FilterTypeZoom: |
| 99 if (ReadParam(m, iter, &amount) && | 99 if (ReadParam(m, iter, &amount) && |
| 100 ReadParam(m, iter, &zoom_inset) && | 100 ReadParam(m, iter, &zoom_inset) && |
| 101 amount >= 0.f && | 101 amount >= 0.f && |
| 102 zoom_inset >= 0) { | 102 zoom_inset >= 0) { |
| 103 r->setAmount(amount); | 103 r->set_amount(amount); |
| 104 r->setZoomInset(zoom_inset); | 104 r->set_zoom_inset(zoom_inset); |
| 105 success = true; | 105 success = true; |
| 106 } | 106 } |
| 107 break; | 107 break; |
| 108 } | 108 } |
| 109 return success; | 109 return success; |
| 110 } | 110 } |
| 111 | 111 |
| 112 void ParamTraits<WebKit::WebFilterOperation>::Log( | 112 void ParamTraits<cc::FilterOperation>::Log( |
| 113 const param_type& p, std::string* l) { | 113 const param_type& p, std::string* l) { |
| 114 l->append("("); | 114 l->append("("); |
| 115 LogParam(static_cast<unsigned>(p.type()), l); | 115 LogParam(static_cast<unsigned>(p.type()), l); |
| 116 l->append(", "); | 116 l->append(", "); |
| 117 | 117 |
| 118 switch (p.type()) { | 118 switch (p.type()) { |
| 119 case WebKit::WebFilterOperation::FilterTypeGrayscale: | 119 case cc::FilterOperation::FilterTypeGrayscale: |
| 120 case WebKit::WebFilterOperation::FilterTypeSepia: | 120 case cc::FilterOperation::FilterTypeSepia: |
| 121 case WebKit::WebFilterOperation::FilterTypeSaturate: | 121 case cc::FilterOperation::FilterTypeSaturate: |
| 122 case WebKit::WebFilterOperation::FilterTypeHueRotate: | 122 case cc::FilterOperation::FilterTypeHueRotate: |
| 123 case WebKit::WebFilterOperation::FilterTypeInvert: | 123 case cc::FilterOperation::FilterTypeInvert: |
| 124 case WebKit::WebFilterOperation::FilterTypeBrightness: | 124 case cc::FilterOperation::FilterTypeBrightness: |
| 125 case WebKit::WebFilterOperation::FilterTypeSaturatingBrightness: | 125 case cc::FilterOperation::FilterTypeSaturatingBrightness: |
| 126 case WebKit::WebFilterOperation::FilterTypeContrast: | 126 case cc::FilterOperation::FilterTypeContrast: |
| 127 case WebKit::WebFilterOperation::FilterTypeOpacity: | 127 case cc::FilterOperation::FilterTypeOpacity: |
| 128 case WebKit::WebFilterOperation::FilterTypeBlur: | 128 case cc::FilterOperation::FilterTypeBlur: |
| 129 LogParam(p.amount(), l); | 129 LogParam(p.amount(), l); |
| 130 break; | 130 break; |
| 131 case WebKit::WebFilterOperation::FilterTypeDropShadow: | 131 case cc::FilterOperation::FilterTypeDropShadow: |
| 132 LogParam(p.dropShadowOffset(), l); | 132 LogParam(p.drop_shadow_offset(), l); |
| 133 l->append(", "); | 133 l->append(", "); |
| 134 LogParam(p.amount(), l); | 134 LogParam(p.amount(), l); |
| 135 l->append(", "); | 135 l->append(", "); |
| 136 LogParam(p.dropShadowColor(), l); | 136 LogParam(p.drop_shadow_color(), l); |
| 137 break; | 137 break; |
| 138 case WebKit::WebFilterOperation::FilterTypeColorMatrix: | 138 case cc::FilterOperation::FilterTypeColorMatrix: |
| 139 for (int i = 0; i < 20; ++i) { | 139 for (int i = 0; i < 20; ++i) { |
| 140 if (i) | 140 if (i) |
| 141 l->append(", "); | 141 l->append(", "); |
| 142 LogParam(p.matrix()[i], l); | 142 LogParam(p.matrix()[i], l); |
| 143 } | 143 } |
| 144 break; | 144 break; |
| 145 case WebKit::WebFilterOperation::FilterTypeZoom: | 145 case cc::FilterOperation::FilterTypeZoom: |
| 146 LogParam(p.amount(), l); | 146 LogParam(p.amount(), l); |
| 147 l->append(", "); | 147 l->append(", "); |
| 148 LogParam(p.zoomInset(), l); | 148 LogParam(p.zoom_inset(), l); |
| 149 break; | 149 break; |
| 150 } | 150 } |
| 151 l->append(")"); | 151 l->append(")"); |
| 152 } | 152 } |
| 153 | 153 |
| 154 void ParamTraits<WebKit::WebFilterOperations>::Write( | 154 void ParamTraits<cc::FilterOperations>::Write( |
| 155 Message* m, const param_type& p) { | 155 Message* m, const param_type& p) { |
| 156 WriteParam(m, p.size()); | 156 WriteParam(m, p.size()); |
| 157 for (std::size_t i = 0; i < p.size(); ++i) { | 157 for (std::size_t i = 0; i < p.size(); ++i) { |
| 158 WriteParam(m, p.at(i)); | 158 WriteParam(m, p.at(i)); |
| 159 } | 159 } |
| 160 } | 160 } |
| 161 | 161 |
| 162 bool ParamTraits<WebKit::WebFilterOperations>::Read( | 162 bool ParamTraits<cc::FilterOperations>::Read( |
| 163 const Message* m, PickleIterator* iter, param_type* r) { | 163 const Message* m, PickleIterator* iter, param_type* r) { |
| 164 size_t count; | 164 size_t count; |
| 165 if (!ReadParam(m, iter, &count)) | 165 if (!ReadParam(m, iter, &count)) |
| 166 return false; | 166 return false; |
| 167 | 167 |
| 168 for (std::size_t i = 0; i < count; ++i) { | 168 for (std::size_t i = 0; i < count; ++i) { |
| 169 WebKit::WebFilterOperation op = | 169 cc::FilterOperation op = cc::FilterOperation::CreateEmptyFilter(); |
| 170 WebKit::WebFilterOperation::createEmptyFilter(); | |
| 171 if (!ReadParam(m, iter, &op)) | 170 if (!ReadParam(m, iter, &op)) |
| 172 return false; | 171 return false; |
| 173 r->append(op); | 172 r->Append(op); |
| 174 } | 173 } |
| 175 return true; | 174 return true; |
| 176 } | 175 } |
| 177 | 176 |
| 178 void ParamTraits<WebKit::WebFilterOperations>::Log( | 177 void ParamTraits<cc::FilterOperations>::Log( |
| 179 const param_type& p, std::string* l) { | 178 const param_type& p, std::string* l) { |
| 180 l->append("("); | 179 l->append("("); |
| 181 for (std::size_t i = 0; i < p.size(); ++i) { | 180 for (std::size_t i = 0; i < p.size(); ++i) { |
| 182 if (i) | 181 if (i) |
| 183 l->append(", "); | 182 l->append(", "); |
| 184 LogParam(p.at(i), l); | 183 LogParam(p.at(i), l); |
| 185 } | 184 } |
| 186 l->append(")"); | 185 l->append(")"); |
| 187 } | 186 } |
| 188 | 187 |
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 708 l->append(", ["); | 707 l->append(", ["); |
| 709 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { | 708 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { |
| 710 if (i) | 709 if (i) |
| 711 l->append(", "); | 710 l->append(", "); |
| 712 LogParam(*p.render_pass_list[i], l); | 711 LogParam(*p.render_pass_list[i], l); |
| 713 } | 712 } |
| 714 l->append("])"); | 713 l->append("])"); |
| 715 } | 714 } |
| 716 | 715 |
| 717 } // namespace IPC | 716 } // namespace IPC |
| OLD | NEW |