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

Unified Diff: content/common/content_param_traits.cc

Issue 84703003: Allow data URL > 2MB for loadDataWithBaseURL (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Bo comments Created 7 years, 1 month 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/content_param_traits.cc
diff --git a/content/common/content_param_traits.cc b/content/common/content_param_traits.cc
index 3b0ab98110621bd5780689e87fa5119ba34c2725..592eba219e45bad3e90ca7207efb1c396ffecff7 100644
--- a/content/common/content_param_traits.cc
+++ b/content/common/content_param_traits.cc
@@ -11,6 +11,38 @@
namespace IPC {
+void ParamTraits<scoped_refptr<base::RefCountedMemory> >::Write(
+ Message* m,
+ const param_type& p) {
+ base::StringPiece data(base::RefCountedMemory::AsString(p.get()));
+ m->WriteData(data.data(), data.size());
+}
+
+bool ParamTraits<scoped_refptr<base::RefCountedMemory> >::Read(
+ const Message* m,
+ PickleIterator* iter,
+ param_type* p) {
+ const char* data;
+ int len;
+ if (!m->ReadData(iter, &data, &len))
+ return false;
+ if (len > 0) {
+ scoped_refptr<base::RefCountedString> res = new base::RefCountedString;
+ res->data().assign(data, len);
+ *p = res;
+ } else {
+ *p = NULL;
+ }
+ return true;
+}
+
+void ParamTraits<scoped_refptr<base::RefCountedMemory> >::Log(
+ const param_type& p, std::string* l) {
+ l->append("(RefCountedMemory: ");
+ base::RefCountedMemory::AsString(p.get()).AppendToString(l);
+ l->append(")");
+}
+
void ParamTraits<net::IPEndPoint>::Write(Message* m, const param_type& p) {
WriteParam(m, p.address());
WriteParam(m, p.port());

Powered by Google App Engine
This is Rietveld 408576698