Index: content/common/cc_messages.cc |
diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc |
index a122ed80095256332555d57786aeba9377ea42ec..8499c8a6e12f7c9ee2ed462ff004330788594be0 100644 |
--- a/content/common/cc_messages.cc |
+++ b/content/common/cc_messages.cc |
@@ -44,6 +44,11 @@ void ParamTraits<cc::FilterOperation>::Write( |
WriteParam(m, p.amount()); |
WriteParam(m, p.zoom_inset()); |
break; |
+ case cc::FilterOperation::REFERENCE: |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kAllowFiltersOverIPC)) |
piman
2013/09/09 23:29:15
nit: we already test the flag in ParamTraits<SkIma
ajuma
2013/09/10 21:17:58
Done. In fact, we don't even need to do any specia
|
+ WriteParam(m, p.image_filter()); |
+ break; |
} |
} |
@@ -109,6 +114,27 @@ bool ParamTraits<cc::FilterOperation>::Read( |
success = true; |
} |
break; |
+ case cc::FilterOperation::REFERENCE: { |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kAllowFiltersOverIPC)) { |
+ skia::RefPtr<SkImageFilter> filter; |
+ if (!ReadParam(m, iter, &filter)) { |
+ success = false; |
+ break; |
+ } |
+ if (!filter) { |
+ success = false; |
+ break; |
+ } |
+ r->set_image_filter(filter); |
+ success = true; |
+ break; |
+ } |
+ // When reference filters cannot be serialized, just use a noop filter. |
+ *r = cc::FilterOperation::CreateEmptyFilter(); |
+ success = true; |
+ break; |
+ } |
} |
return success; |
} |
@@ -151,6 +177,11 @@ void ParamTraits<cc::FilterOperation>::Log( |
l->append(", "); |
LogParam(p.zoom_inset(), l); |
break; |
+ case cc::FilterOperation::REFERENCE: |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kAllowFiltersOverIPC)) |
+ LogParam(p.image_filter(), l); |
+ break; |
} |
l->append(")"); |
} |