Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2247)

Unified Diff: cc/ipc/cc_param_traits.cc

Issue 2096493002: Make cc::CompositorFrames movable [Part 1 of 2] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix reflector Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698