Chromium Code Reviews| Index: cc/ipc/cc_param_traits.cc |
| diff --git a/cc/ipc/cc_param_traits.cc b/cc/ipc/cc_param_traits.cc |
| index 9caa36f9bd98eb8ca1942737f22b2570937d8656..6ae520e33ea9fea5c525f5520d7cc00445ea8809 100644 |
| --- a/cc/ipc/cc_param_traits.cc |
| +++ b/cc/ipc/cc_param_traits.cc |
| @@ -674,6 +674,44 @@ void ParamTraits<cc::CompositorFrame>::Log(const param_type& p, |
| l->append(")"); |
| } |
| +void ParamTraits<std::unique_ptr<cc::CompositorFrame>>::Write( |
|
dcheng
2016/06/23 18:39:40
Shouldn't the existing ParamTraits partial special
Fady Samuel
2016/06/23 18:47:29
One exists but it doesn't do what I want. In parti
danakj
2016/06/23 20:34:40
I want to remove all Create() methods that are not
|
| + base::Pickle* m, |
| + const param_type& p) { |
| + bool valid = !!p; |
| + WriteParam(m, valid); |
| + if (valid) |
| + WriteParam(m, *p); |
| +} |
| + |
| +bool ParamTraits<std::unique_ptr<cc::CompositorFrame>>::Read( |
| + const base::Pickle* m, |
| + base::PickleIterator* iter, |
| + param_type* r) { |
| + bool valid = false; |
| + if (!ReadParam(m, iter, &valid)) |
| + return false; |
| + |
| + if (!valid) { |
| + r->reset(); |
| + return true; |
| + } |
| + |
| + param_type temp(cc::CompositorFrame::Create()); |
| + if (!ReadParam(m, iter, temp.get())) |
| + return false; |
| + |
| + r->swap(temp); |
| + return true; |
| +} |
| + |
| +void ParamTraits<std::unique_ptr<cc::CompositorFrame>>::Log(const param_type& p, |
| + std::string* l) { |
| + if (p) |
| + LogParam(*p, l); |
| + else |
| + l->append("NULL"); |
| +} |
| + |
| void ParamTraits<cc::CompositorFrameAck>::Write(base::Pickle* m, |
| const param_type& p) { |
| WriteParam(m, p.resources); |