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); |