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

Unified Diff: content/public/common/common_param_traits.cc

Issue 10980010: Cleanup the IPC param traits structure (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix android Created 8 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
« no previous file with comments | « content/public/common/common_param_traits.h ('k') | content/public/common/common_param_traits_macros.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/common/common_param_traits.cc
===================================================================
--- content/public/common/common_param_traits.cc (revision 158377)
+++ content/public/common/common_param_traits.cc (working copy)
@@ -7,13 +7,9 @@
#include "content/public/common/content_constants.h"
#include "content/public/common/referrer.h"
#include "net/base/host_port_pair.h"
-#include "net/base/upload_data.h"
-#include "net/http/http_response_headers.h"
#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/base/range/range.h"
#include "ui/gfx/rect.h"
#include "ui/gfx/rect_f.h"
-#include "webkit/glue/resource_request_body.h"
namespace {
@@ -72,296 +68,6 @@
l->append(p.spec());
}
-void ParamTraits<net::URLRequestStatus>::Write(Message* m,
- const param_type& p) {
- WriteParam(m, static_cast<int>(p.status()));
- WriteParam(m, p.error());
-}
-
-bool ParamTraits<net::URLRequestStatus>::Read(const Message* m,
- PickleIterator* iter,
- param_type* r) {
- int status, error;
- if (!ReadParam(m, iter, &status) || !ReadParam(m, iter, &error))
- return false;
- r->set_status(static_cast<net::URLRequestStatus::Status>(status));
- r->set_error(error);
- return true;
-}
-
-void ParamTraits<net::URLRequestStatus>::Log(const param_type& p,
- std::string* l) {
- std::string status;
- switch (p.status()) {
- case net::URLRequestStatus::SUCCESS:
- status = "SUCCESS";
- break;
- case net::URLRequestStatus::IO_PENDING:
- status = "IO_PENDING ";
- break;
- case net::URLRequestStatus::CANCELED:
- status = "CANCELED";
- break;
- case net::URLRequestStatus::FAILED:
- status = "FAILED";
- break;
- default:
- status = "UNKNOWN";
- break;
- }
- if (p.status() == net::URLRequestStatus::FAILED)
- l->append("(");
-
- LogParam(status, l);
-
- if (p.status() == net::URLRequestStatus::FAILED) {
- l->append(", ");
- LogParam(p.error(), l);
- l->append(")");
- }
-}
-
-// Only the net::UploadData ParamTraits<> definition needs this definition, so
-// keep this in the implementation file so we can forward declare UploadData in
-// the header.
-template <>
-struct ParamTraits<net::UploadElement> {
- typedef net::UploadElement param_type;
- static void Write(Message* m, const param_type& p) {
- WriteParam(m, static_cast<int>(p.type()));
- switch (p.type()) {
- case net::UploadElement::TYPE_BYTES: {
- m->WriteData(p.bytes(), static_cast<int>(p.bytes_length()));
- break;
- }
- default: {
- DCHECK(p.type() == net::UploadElement::TYPE_FILE);
- WriteParam(m, p.file_path());
- WriteParam(m, p.file_range_offset());
- WriteParam(m, p.file_range_length());
- WriteParam(m, p.expected_file_modification_time());
- break;
- }
- }
- }
- static bool Read(const Message* m, PickleIterator* iter, param_type* r) {
- int type;
- if (!ReadParam(m, iter, &type))
- return false;
- switch (type) {
- case net::UploadElement::TYPE_BYTES: {
- const char* data;
- int len;
- if (!m->ReadData(iter, &data, &len))
- return false;
- r->SetToBytes(data, len);
- break;
- }
- default: {
- DCHECK(type == net::UploadElement::TYPE_FILE);
- FilePath file_path;
- uint64 offset, length;
- base::Time expected_modification_time;
- if (!ReadParam(m, iter, &file_path))
- return false;
- if (!ReadParam(m, iter, &offset))
- return false;
- if (!ReadParam(m, iter, &length))
- return false;
- if (!ReadParam(m, iter, &expected_modification_time))
- return false;
- r->SetToFilePathRange(file_path, offset, length,
- expected_modification_time);
- break;
- }
- }
- return true;
- }
- static void Log(const param_type& p, std::string* l) {
- l->append("<net::UploadElement>");
- }
-};
-
-void ParamTraits<scoped_refptr<net::UploadData> >::Write(Message* m,
- const param_type& p) {
- WriteParam(m, p.get() != NULL);
- if (p) {
- WriteParam(m, *p->elements());
- WriteParam(m, p->identifier());
- WriteParam(m, p->is_chunked());
- WriteParam(m, p->last_chunk_appended());
- }
-}
-
-bool ParamTraits<scoped_refptr<net::UploadData> >::Read(const Message* m,
- PickleIterator* iter,
- param_type* r) {
- bool has_object;
- if (!ReadParam(m, iter, &has_object))
- return false;
- if (!has_object)
- return true;
- std::vector<net::UploadElement> elements;
- if (!ReadParam(m, iter, &elements))
- return false;
- int64 identifier;
- if (!ReadParam(m, iter, &identifier))
- return false;
- bool is_chunked = false;
- if (!ReadParam(m, iter, &is_chunked))
- return false;
- bool last_chunk_appended = false;
- if (!ReadParam(m, iter, &last_chunk_appended))
- return false;
- *r = new net::UploadData;
- (*r)->swap_elements(&elements);
- (*r)->set_identifier(identifier);
- (*r)->set_is_chunked(is_chunked);
- (*r)->set_last_chunk_appended(last_chunk_appended);
- return true;
-}
-
-void ParamTraits<scoped_refptr<net::UploadData> >::Log(const param_type& p,
- std::string* l) {
- l->append("<net::UploadData>");
-}
-
-void ParamTraits<webkit_base::DataElement>::Write(
- Message* m, const param_type& p) {
- WriteParam(m, static_cast<int>(p.type()));
- switch (p.type()) {
- case webkit_base::DataElement::TYPE_BYTES: {
- m->WriteData(p.bytes(), static_cast<int>(p.length()));
- break;
- }
- case webkit_base::DataElement::TYPE_FILE: {
- WriteParam(m, p.path());
- WriteParam(m, p.offset());
- WriteParam(m, p.length());
- WriteParam(m, p.expected_modification_time());
- break;
- }
- case webkit_base::DataElement::TYPE_FILE_FILESYSTEM: {
- WriteParam(m, p.url());
- WriteParam(m, p.offset());
- WriteParam(m, p.length());
- WriteParam(m, p.expected_modification_time());
- break;
- }
- default: {
- DCHECK(p.type() == webkit_base::DataElement::TYPE_BLOB);
- WriteParam(m, p.url());
- WriteParam(m, p.offset());
- WriteParam(m, p.length());
- break;
- }
- }
-}
-
-bool ParamTraits<webkit_base::DataElement>::Read(
- const Message* m, PickleIterator* iter, param_type* r) {
- int type;
- if (!ReadParam(m, iter, &type))
- return false;
- switch (type) {
- case webkit_base::DataElement::TYPE_BYTES: {
- const char* data;
- int len;
- if (!m->ReadData(iter, &data, &len))
- return false;
- r->SetToBytes(data, len);
- break;
- }
- case webkit_base::DataElement::TYPE_FILE: {
- FilePath file_path;
- uint64 offset, length;
- base::Time expected_modification_time;
- if (!ReadParam(m, iter, &file_path))
- return false;
- if (!ReadParam(m, iter, &offset))
- return false;
- if (!ReadParam(m, iter, &length))
- return false;
- if (!ReadParam(m, iter, &expected_modification_time))
- return false;
- r->SetToFilePathRange(file_path, offset, length,
- expected_modification_time);
- break;
- }
- case webkit_base::DataElement::TYPE_FILE_FILESYSTEM: {
- GURL file_system_url;
- uint64 offset, length;
- base::Time expected_modification_time;
- if (!ReadParam(m, iter, &file_system_url))
- return false;
- if (!ReadParam(m, iter, &offset))
- return false;
- if (!ReadParam(m, iter, &length))
- return false;
- if (!ReadParam(m, iter, &expected_modification_time))
- return false;
- r->SetToFileSystemUrlRange(file_system_url, offset, length,
- expected_modification_time);
- break;
- }
- default: {
- DCHECK(type == webkit_base::DataElement::TYPE_BLOB);
- GURL blob_url;
- uint64 offset, length;
- if (!ReadParam(m, iter, &blob_url))
- return false;
- if (!ReadParam(m, iter, &offset))
- return false;
- if (!ReadParam(m, iter, &length))
- return false;
- r->SetToBlobUrlRange(blob_url, offset, length);
- break;
- }
- }
- return true;
-}
-
-void ParamTraits<webkit_base::DataElement>::Log(
- const param_type& p, std::string* l) {
- l->append("<webkit_base::DataElement>");
-}
-
-void ParamTraits<scoped_refptr<webkit_glue::ResourceRequestBody> >::Write(
- Message* m,
- const param_type& p) {
- WriteParam(m, p.get() != NULL);
- if (p) {
- WriteParam(m, *p->elements());
- WriteParam(m, p->identifier());
- }
-}
-
-bool ParamTraits<scoped_refptr<webkit_glue::ResourceRequestBody> >::Read(
- const Message* m,
- PickleIterator* iter,
- param_type* r) {
- bool has_object;
- if (!ReadParam(m, iter, &has_object))
- return false;
- if (!has_object)
- return true;
- std::vector<webkit_base::DataElement> elements;
- if (!ReadParam(m, iter, &elements))
- return false;
- int64 identifier;
- if (!ReadParam(m, iter, &identifier))
- return false;
- *r = new webkit_glue::ResourceRequestBody;
- (*r)->swap_elements(&elements);
- (*r)->set_identifier(identifier);
- return true;
-}
-
-void ParamTraits<scoped_refptr<webkit_glue::ResourceRequestBody> >::Log(
- const param_type& p, std::string* l) {
- l->append("<webkit_glue::ResourceRequestBody>");
-}
-
void ParamTraits<net::HostPortPair>::Write(Message* m, const param_type& p) {
WriteParam(m, p.host());
WriteParam(m, p.port());
@@ -384,49 +90,6 @@
l->append(p.ToString());
}
-void ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Write(
- Message* m, const param_type& p) {
- WriteParam(m, p.get() != NULL);
- if (p) {
- // Do not disclose Set-Cookie headers over IPC.
- p->Persist(m, net::HttpResponseHeaders::PERSIST_SANS_COOKIES);
- }
-}
-
-bool ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Read(
- const Message* m, PickleIterator* iter, param_type* r) {
- bool has_object;
- if (!ReadParam(m, iter, &has_object))
- return false;
- if (has_object)
- *r = new net::HttpResponseHeaders(*m, iter);
- return true;
-}
-
-void ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Log(
- const param_type& p, std::string* l) {
- l->append("<HttpResponseHeaders>");
-}
-
-void ParamTraits<net::IPEndPoint>::Write(Message* m, const param_type& p) {
- WriteParam(m, p.address());
- WriteParam(m, p.port());
-}
-
-bool ParamTraits<net::IPEndPoint>::Read(const Message* m, PickleIterator* iter,
- param_type* p) {
- net::IPAddressNumber address;
- int port;
- if (!ReadParam(m, iter, &address) || !ReadParam(m, iter, &port))
- return false;
- *p = net::IPEndPoint(address, port);
- return true;
-}
-
-void ParamTraits<net::IPEndPoint>::Log(const param_type& p, std::string* l) {
- LogParam("IPEndPoint:" + p.ToString(), l);
-}
-
void ParamTraits<content::Referrer>::Write(
Message* m, const param_type& p) {
WriteParam(m, p.url);
@@ -544,26 +207,6 @@
p.width(), p.height()));
}
-void ParamTraits<ui::Range>::Write(Message* m, const ui::Range& r) {
- m->WriteUInt64(r.start());
- m->WriteUInt64(r.end());
-}
-
-bool ParamTraits<ui::Range>::Read(const Message* m,
- PickleIterator* iter,
- ui::Range* r) {
- uint64 start, end;
- if (!m->ReadUInt64(iter, &start) || !m->ReadUInt64(iter, &end))
- return false;
- r->set_start(start);
- r->set_end(end);
- return true;
-}
-
-void ParamTraits<ui::Range>::Log(const ui::Range& r, std::string* l) {
- l->append(base::StringPrintf("(%"PRIuS", %"PRIuS")", r.start(), r.end()));
-}
-
void ParamTraits<SkBitmap>::Write(Message* m, const SkBitmap& p) {
size_t fixed_size = sizeof(SkBitmap_Data);
SkBitmap_Data bmp_data;
« no previous file with comments | « content/public/common/common_param_traits.h ('k') | content/public/common/common_param_traits_macros.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698