| 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/compositor_frame.h" | 7 #include "cc/compositor_frame.h" |
| 8 #include "content/public/common/common_param_traits.h" | 8 #include "content/public/common/common_param_traits.h" |
| 9 #include "third_party/WebKit/Source/Platform/chromium/public/WebData.h" | 9 #include "third_party/WebKit/Source/Platform/chromium/public/WebData.h" |
| 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperations
.h" | 10 #include "third_party/WebKit/Source/Platform/chromium/public/WebFilterOperations
.h" |
| 11 #include "ui/gfx/transform.h" | 11 #include "ui/gfx/transform.h" |
| 12 | 12 |
| 13 namespace IPC { | 13 namespace IPC { |
| 14 | 14 |
| 15 void ParamTraits<WebKit::WebFilterOperation>::Write( | 15 void ParamTraits<WebKit::WebFilterOperation>::Write( |
| 16 Message* m, const param_type& p) { | 16 Message* m, const param_type& p) { |
| 17 WriteParam(m, p.type()); | 17 WriteParam(m, p.type()); |
| 18 switch (p.type()) { | 18 switch (p.type()) { |
| 19 case WebKit::WebFilterOperation::FilterTypeGrayscale: | 19 case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| 20 case WebKit::WebFilterOperation::FilterTypeSepia: | 20 case WebKit::WebFilterOperation::FilterTypeSepia: |
| 21 case WebKit::WebFilterOperation::FilterTypeSaturate: | 21 case WebKit::WebFilterOperation::FilterTypeSaturate: |
| 22 case WebKit::WebFilterOperation::FilterTypeHueRotate: | 22 case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| 23 case WebKit::WebFilterOperation::FilterTypeInvert: | 23 case WebKit::WebFilterOperation::FilterTypeInvert: |
| 24 case WebKit::WebFilterOperation::FilterTypeBrightness: | 24 case WebKit::WebFilterOperation::FilterTypeBrightness: |
| 25 case WebKit::WebFilterOperation::FilterTypeSaturatingBrightness: |
| 25 case WebKit::WebFilterOperation::FilterTypeContrast: | 26 case WebKit::WebFilterOperation::FilterTypeContrast: |
| 26 case WebKit::WebFilterOperation::FilterTypeOpacity: | 27 case WebKit::WebFilterOperation::FilterTypeOpacity: |
| 27 case WebKit::WebFilterOperation::FilterTypeBlur: | 28 case WebKit::WebFilterOperation::FilterTypeBlur: |
| 28 WriteParam(m, p.amount()); | 29 WriteParam(m, p.amount()); |
| 29 break; | 30 break; |
| 30 case WebKit::WebFilterOperation::FilterTypeDropShadow: | 31 case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| 31 WriteParam(m, p.dropShadowOffset()); | 32 WriteParam(m, p.dropShadowOffset()); |
| 32 WriteParam(m, p.amount()); | 33 WriteParam(m, p.amount()); |
| 33 WriteParam(m, p.dropShadowColor()); | 34 WriteParam(m, p.dropShadowColor()); |
| 34 break; | 35 break; |
| 35 case WebKit::WebFilterOperation::FilterTypeColorMatrix: | 36 case WebKit::WebFilterOperation::FilterTypeColorMatrix: |
| 36 for (int i = 0; i < 20; ++i) | 37 for (int i = 0; i < 20; ++i) |
| 37 WriteParam(m, p.matrix()[i]); | 38 WriteParam(m, p.matrix()[i]); |
| 38 break; | 39 break; |
| 39 case WebKit::WebFilterOperation::FilterTypeZoom: | 40 case WebKit::WebFilterOperation::FilterTypeZoom: |
| 40 WriteParam(m, p.zoomRect()); | 41 WriteParam(m, p.zoomRect()); |
| 41 WriteParam(m, p.amount()); | 42 WriteParam(m, p.amount()); |
| 42 break; | 43 break; |
| 43 default: | |
| 44 // FIXME: temporary place holder to prevent build failures | |
| 45 // (pending a new FilterType). | |
| 46 NOTREACHED(); | |
| 47 break; | |
| 48 } | 44 } |
| 49 } | 45 } |
| 50 | 46 |
| 51 bool ParamTraits<WebKit::WebFilterOperation>::Read( | 47 bool ParamTraits<WebKit::WebFilterOperation>::Read( |
| 52 const Message* m, PickleIterator* iter, param_type* r) { | 48 const Message* m, PickleIterator* iter, param_type* r) { |
| 53 WebKit::WebFilterOperation::FilterType type; | 49 WebKit::WebFilterOperation::FilterType type; |
| 54 float amount; | 50 float amount; |
| 55 WebKit::WebPoint dropShadowOffset; | 51 WebKit::WebPoint dropShadowOffset; |
| 56 WebKit::WebColor dropShadowColor; | 52 WebKit::WebColor dropShadowColor; |
| 57 SkScalar matrix[20]; | 53 SkScalar matrix[20]; |
| 58 WebKit::WebRect zoomRect; | 54 WebKit::WebRect zoomRect; |
| 59 | 55 |
| 60 if (!ReadParam(m, iter, &type)) | 56 if (!ReadParam(m, iter, &type)) |
| 61 return false; | 57 return false; |
| 62 r->setType(type); | 58 r->setType(type); |
| 63 | 59 |
| 64 bool success = false; | 60 bool success = false; |
| 65 switch (type) { | 61 switch (type) { |
| 66 case WebKit::WebFilterOperation::FilterTypeGrayscale: | 62 case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| 67 case WebKit::WebFilterOperation::FilterTypeSepia: | 63 case WebKit::WebFilterOperation::FilterTypeSepia: |
| 68 case WebKit::WebFilterOperation::FilterTypeSaturate: | 64 case WebKit::WebFilterOperation::FilterTypeSaturate: |
| 69 case WebKit::WebFilterOperation::FilterTypeHueRotate: | 65 case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| 70 case WebKit::WebFilterOperation::FilterTypeInvert: | 66 case WebKit::WebFilterOperation::FilterTypeInvert: |
| 71 case WebKit::WebFilterOperation::FilterTypeBrightness: | 67 case WebKit::WebFilterOperation::FilterTypeBrightness: |
| 68 case WebKit::WebFilterOperation::FilterTypeSaturatingBrightness: |
| 72 case WebKit::WebFilterOperation::FilterTypeContrast: | 69 case WebKit::WebFilterOperation::FilterTypeContrast: |
| 73 case WebKit::WebFilterOperation::FilterTypeOpacity: | 70 case WebKit::WebFilterOperation::FilterTypeOpacity: |
| 74 case WebKit::WebFilterOperation::FilterTypeBlur: | 71 case WebKit::WebFilterOperation::FilterTypeBlur: |
| 75 if (ReadParam(m, iter, &amount)) { | 72 if (ReadParam(m, iter, &amount)) { |
| 76 r->setAmount(amount); | 73 r->setAmount(amount); |
| 77 success = true; | 74 success = true; |
| 78 } | 75 } |
| 79 break; | 76 break; |
| 80 case WebKit::WebFilterOperation::FilterTypeDropShadow: | 77 case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| 81 if (ReadParam(m, iter, &dropShadowOffset) && | 78 if (ReadParam(m, iter, &dropShadowOffset) && |
| (...skipping 18 matching lines...) Expand all Loading... |
| 100 break; | 97 break; |
| 101 } | 98 } |
| 102 case WebKit::WebFilterOperation::FilterTypeZoom: | 99 case WebKit::WebFilterOperation::FilterTypeZoom: |
| 103 if (ReadParam(m, iter, &zoomRect) && | 100 if (ReadParam(m, iter, &zoomRect) && |
| 104 ReadParam(m, iter, &amount)) { | 101 ReadParam(m, iter, &amount)) { |
| 105 r->setZoomRect(zoomRect); | 102 r->setZoomRect(zoomRect); |
| 106 r->setAmount(amount); | 103 r->setAmount(amount); |
| 107 success = true; | 104 success = true; |
| 108 } | 105 } |
| 109 break; | 106 break; |
| 110 default: | |
| 111 // FIXME: temporary place holder to prevent build failures | |
| 112 // (pending a new FilterType). | |
| 113 NOTREACHED(); | |
| 114 break; | |
| 115 } | 107 } |
| 116 return success; | 108 return success; |
| 117 } | 109 } |
| 118 | 110 |
| 119 void ParamTraits<WebKit::WebFilterOperation>::Log( | 111 void ParamTraits<WebKit::WebFilterOperation>::Log( |
| 120 const param_type& p, std::string* l) { | 112 const param_type& p, std::string* l) { |
| 121 l->append("("); | 113 l->append("("); |
| 122 LogParam(static_cast<unsigned>(p.type()), l); | 114 LogParam(static_cast<unsigned>(p.type()), l); |
| 123 l->append(", "); | 115 l->append(", "); |
| 124 | 116 |
| 125 switch (p.type()) { | 117 switch (p.type()) { |
| 126 case WebKit::WebFilterOperation::FilterTypeGrayscale: | 118 case WebKit::WebFilterOperation::FilterTypeGrayscale: |
| 127 case WebKit::WebFilterOperation::FilterTypeSepia: | 119 case WebKit::WebFilterOperation::FilterTypeSepia: |
| 128 case WebKit::WebFilterOperation::FilterTypeSaturate: | 120 case WebKit::WebFilterOperation::FilterTypeSaturate: |
| 129 case WebKit::WebFilterOperation::FilterTypeHueRotate: | 121 case WebKit::WebFilterOperation::FilterTypeHueRotate: |
| 130 case WebKit::WebFilterOperation::FilterTypeInvert: | 122 case WebKit::WebFilterOperation::FilterTypeInvert: |
| 131 case WebKit::WebFilterOperation::FilterTypeBrightness: | 123 case WebKit::WebFilterOperation::FilterTypeBrightness: |
| 124 case WebKit::WebFilterOperation::FilterTypeSaturatingBrightness: |
| 132 case WebKit::WebFilterOperation::FilterTypeContrast: | 125 case WebKit::WebFilterOperation::FilterTypeContrast: |
| 133 case WebKit::WebFilterOperation::FilterTypeOpacity: | 126 case WebKit::WebFilterOperation::FilterTypeOpacity: |
| 134 case WebKit::WebFilterOperation::FilterTypeBlur: | 127 case WebKit::WebFilterOperation::FilterTypeBlur: |
| 135 LogParam(p.amount(), l); | 128 LogParam(p.amount(), l); |
| 136 break; | 129 break; |
| 137 case WebKit::WebFilterOperation::FilterTypeDropShadow: | 130 case WebKit::WebFilterOperation::FilterTypeDropShadow: |
| 138 LogParam(p.dropShadowOffset(), l); | 131 LogParam(p.dropShadowOffset(), l); |
| 139 l->append(", "); | 132 l->append(", "); |
| 140 LogParam(p.amount(), l); | 133 LogParam(p.amount(), l); |
| 141 l->append(", "); | 134 l->append(", "); |
| 142 LogParam(p.dropShadowColor(), l); | 135 LogParam(p.dropShadowColor(), l); |
| 143 break; | 136 break; |
| 144 case WebKit::WebFilterOperation::FilterTypeColorMatrix: | 137 case WebKit::WebFilterOperation::FilterTypeColorMatrix: |
| 145 for (int i = 0; i < 20; ++i) { | 138 for (int i = 0; i < 20; ++i) { |
| 146 if (i) | 139 if (i) |
| 147 l->append(", "); | 140 l->append(", "); |
| 148 LogParam(p.matrix()[i], l); | 141 LogParam(p.matrix()[i], l); |
| 149 } | 142 } |
| 150 break; | 143 break; |
| 151 case WebKit::WebFilterOperation::FilterTypeZoom: | 144 case WebKit::WebFilterOperation::FilterTypeZoom: |
| 152 LogParam(p.zoomRect(), l); | 145 LogParam(p.zoomRect(), l); |
| 153 l->append(", "); | 146 l->append(", "); |
| 154 LogParam(p.amount(), l); | 147 LogParam(p.amount(), l); |
| 155 break; | 148 break; |
| 156 default: | |
| 157 // FIXME: temporary place holder to prevent build failures | |
| 158 // (pending a new FilterType). | |
| 159 NOTREACHED(); | |
| 160 break; | |
| 161 } | 149 } |
| 162 l->append(")"); | 150 l->append(")"); |
| 163 } | 151 } |
| 164 | 152 |
| 165 void ParamTraits<WebKit::WebFilterOperations>::Write( | 153 void ParamTraits<WebKit::WebFilterOperations>::Write( |
| 166 Message* m, const param_type& p) { | 154 Message* m, const param_type& p) { |
| 167 WriteParam(m, p.size()); | 155 WriteParam(m, p.size()); |
| 168 for (std::size_t i = 0; i < p.size(); ++i) { | 156 for (std::size_t i = 0; i < p.size(); ++i) { |
| 169 WriteParam(m, p.at(i)); | 157 WriteParam(m, p.at(i)); |
| 170 } | 158 } |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 666 l->append(", ["); | 654 l->append(", ["); |
| 667 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { | 655 for (size_t i = 0; i < p.render_pass_list.size(); ++i) { |
| 668 if (i) | 656 if (i) |
| 669 l->append(", "); | 657 l->append(", "); |
| 670 LogParam(*p.render_pass_list[i], l); | 658 LogParam(*p.render_pass_list[i], l); |
| 671 } | 659 } |
| 672 l->append("])"); | 660 l->append("])"); |
| 673 } | 661 } |
| 674 | 662 |
| 675 } // namespace IPC | 663 } // namespace IPC |
| OLD | NEW |