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

Unified Diff: content/common/cc_messages.cc

Issue 21154002: Add support for converting cc::FilterOperations into an SkImageFilter (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix cc_messages Created 7 years, 3 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: 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(")");
}

Powered by Google App Engine
This is Rietveld 408576698