| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/common/resource_messages.h" | 5 #include "content/common/resource_messages.h" |
| 6 | 6 |
| 7 #include "net/base/load_timing_info.h" | 7 #include "net/base/load_timing_info.h" |
| 8 #include "net/http/http_response_headers.h" | 8 #include "net/http/http_response_headers.h" |
| 9 | 9 |
| 10 namespace IPC { | 10 namespace IPC { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 if (has_object) | 26 if (has_object) |
| 27 *r = new net::HttpResponseHeaders(*m, iter); | 27 *r = new net::HttpResponseHeaders(*m, iter); |
| 28 return true; | 28 return true; |
| 29 } | 29 } |
| 30 | 30 |
| 31 void ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Log( | 31 void ParamTraits<scoped_refptr<net::HttpResponseHeaders> >::Log( |
| 32 const param_type& p, std::string* l) { | 32 const param_type& p, std::string* l) { |
| 33 l->append("<HttpResponseHeaders>"); | 33 l->append("<HttpResponseHeaders>"); |
| 34 } | 34 } |
| 35 | 35 |
| 36 | 36 void ParamTraits<storage::DataElement>::Write(Message* m, const param_type& p) { |
| 37 void ParamTraits<webkit_common::DataElement>::Write( | |
| 38 Message* m, const param_type& p) { | |
| 39 WriteParam(m, static_cast<int>(p.type())); | 37 WriteParam(m, static_cast<int>(p.type())); |
| 40 switch (p.type()) { | 38 switch (p.type()) { |
| 41 case webkit_common::DataElement::TYPE_BYTES: { | 39 case storage::DataElement::TYPE_BYTES: { |
| 42 m->WriteData(p.bytes(), static_cast<int>(p.length())); | 40 m->WriteData(p.bytes(), static_cast<int>(p.length())); |
| 43 break; | 41 break; |
| 44 } | 42 } |
| 45 case webkit_common::DataElement::TYPE_FILE: { | 43 case storage::DataElement::TYPE_FILE: { |
| 46 WriteParam(m, p.path()); | 44 WriteParam(m, p.path()); |
| 47 WriteParam(m, p.offset()); | 45 WriteParam(m, p.offset()); |
| 48 WriteParam(m, p.length()); | 46 WriteParam(m, p.length()); |
| 49 WriteParam(m, p.expected_modification_time()); | 47 WriteParam(m, p.expected_modification_time()); |
| 50 break; | 48 break; |
| 51 } | 49 } |
| 52 case webkit_common::DataElement::TYPE_FILE_FILESYSTEM: { | 50 case storage::DataElement::TYPE_FILE_FILESYSTEM: { |
| 53 WriteParam(m, p.filesystem_url()); | 51 WriteParam(m, p.filesystem_url()); |
| 54 WriteParam(m, p.offset()); | 52 WriteParam(m, p.offset()); |
| 55 WriteParam(m, p.length()); | 53 WriteParam(m, p.length()); |
| 56 WriteParam(m, p.expected_modification_time()); | 54 WriteParam(m, p.expected_modification_time()); |
| 57 break; | 55 break; |
| 58 } | 56 } |
| 59 default: { | 57 default: { |
| 60 DCHECK(p.type() == webkit_common::DataElement::TYPE_BLOB); | 58 DCHECK(p.type() == storage::DataElement::TYPE_BLOB); |
| 61 WriteParam(m, p.blob_uuid()); | 59 WriteParam(m, p.blob_uuid()); |
| 62 WriteParam(m, p.offset()); | 60 WriteParam(m, p.offset()); |
| 63 WriteParam(m, p.length()); | 61 WriteParam(m, p.length()); |
| 64 break; | 62 break; |
| 65 } | 63 } |
| 66 } | 64 } |
| 67 } | 65 } |
| 68 | 66 |
| 69 bool ParamTraits<webkit_common::DataElement>::Read( | 67 bool ParamTraits<storage::DataElement>::Read(const Message* m, |
| 70 const Message* m, PickleIterator* iter, param_type* r) { | 68 PickleIterator* iter, |
| 69 param_type* r) { |
| 71 int type; | 70 int type; |
| 72 if (!ReadParam(m, iter, &type)) | 71 if (!ReadParam(m, iter, &type)) |
| 73 return false; | 72 return false; |
| 74 switch (type) { | 73 switch (type) { |
| 75 case webkit_common::DataElement::TYPE_BYTES: { | 74 case storage::DataElement::TYPE_BYTES: { |
| 76 const char* data; | 75 const char* data; |
| 77 int len; | 76 int len; |
| 78 if (!m->ReadData(iter, &data, &len)) | 77 if (!m->ReadData(iter, &data, &len)) |
| 79 return false; | 78 return false; |
| 80 r->SetToBytes(data, len); | 79 r->SetToBytes(data, len); |
| 81 break; | 80 break; |
| 82 } | 81 } |
| 83 case webkit_common::DataElement::TYPE_FILE: { | 82 case storage::DataElement::TYPE_FILE: { |
| 84 base::FilePath file_path; | 83 base::FilePath file_path; |
| 85 uint64 offset, length; | 84 uint64 offset, length; |
| 86 base::Time expected_modification_time; | 85 base::Time expected_modification_time; |
| 87 if (!ReadParam(m, iter, &file_path)) | 86 if (!ReadParam(m, iter, &file_path)) |
| 88 return false; | 87 return false; |
| 89 if (!ReadParam(m, iter, &offset)) | 88 if (!ReadParam(m, iter, &offset)) |
| 90 return false; | 89 return false; |
| 91 if (!ReadParam(m, iter, &length)) | 90 if (!ReadParam(m, iter, &length)) |
| 92 return false; | 91 return false; |
| 93 if (!ReadParam(m, iter, &expected_modification_time)) | 92 if (!ReadParam(m, iter, &expected_modification_time)) |
| 94 return false; | 93 return false; |
| 95 r->SetToFilePathRange(file_path, offset, length, | 94 r->SetToFilePathRange(file_path, offset, length, |
| 96 expected_modification_time); | 95 expected_modification_time); |
| 97 break; | 96 break; |
| 98 } | 97 } |
| 99 case webkit_common::DataElement::TYPE_FILE_FILESYSTEM: { | 98 case storage::DataElement::TYPE_FILE_FILESYSTEM: { |
| 100 GURL file_system_url; | 99 GURL file_system_url; |
| 101 uint64 offset, length; | 100 uint64 offset, length; |
| 102 base::Time expected_modification_time; | 101 base::Time expected_modification_time; |
| 103 if (!ReadParam(m, iter, &file_system_url)) | 102 if (!ReadParam(m, iter, &file_system_url)) |
| 104 return false; | 103 return false; |
| 105 if (!ReadParam(m, iter, &offset)) | 104 if (!ReadParam(m, iter, &offset)) |
| 106 return false; | 105 return false; |
| 107 if (!ReadParam(m, iter, &length)) | 106 if (!ReadParam(m, iter, &length)) |
| 108 return false; | 107 return false; |
| 109 if (!ReadParam(m, iter, &expected_modification_time)) | 108 if (!ReadParam(m, iter, &expected_modification_time)) |
| 110 return false; | 109 return false; |
| 111 r->SetToFileSystemUrlRange(file_system_url, offset, length, | 110 r->SetToFileSystemUrlRange(file_system_url, offset, length, |
| 112 expected_modification_time); | 111 expected_modification_time); |
| 113 break; | 112 break; |
| 114 } | 113 } |
| 115 default: { | 114 default: { |
| 116 DCHECK(type == webkit_common::DataElement::TYPE_BLOB); | 115 DCHECK(type == storage::DataElement::TYPE_BLOB); |
| 117 std::string blob_uuid; | 116 std::string blob_uuid; |
| 118 uint64 offset, length; | 117 uint64 offset, length; |
| 119 if (!ReadParam(m, iter, &blob_uuid)) | 118 if (!ReadParam(m, iter, &blob_uuid)) |
| 120 return false; | 119 return false; |
| 121 if (!ReadParam(m, iter, &offset)) | 120 if (!ReadParam(m, iter, &offset)) |
| 122 return false; | 121 return false; |
| 123 if (!ReadParam(m, iter, &length)) | 122 if (!ReadParam(m, iter, &length)) |
| 124 return false; | 123 return false; |
| 125 r->SetToBlobRange(blob_uuid, offset, length); | 124 r->SetToBlobRange(blob_uuid, offset, length); |
| 126 break; | 125 break; |
| 127 } | 126 } |
| 128 } | 127 } |
| 129 return true; | 128 return true; |
| 130 } | 129 } |
| 131 | 130 |
| 132 void ParamTraits<webkit_common::DataElement>::Log( | 131 void ParamTraits<storage::DataElement>::Log(const param_type& p, |
| 133 const param_type& p, std::string* l) { | 132 std::string* l) { |
| 134 l->append("<webkit_common::DataElement>"); | 133 l->append("<storage::DataElement>"); |
| 135 } | 134 } |
| 136 | 135 |
| 137 void ParamTraits<scoped_refptr<content::ResourceDevToolsInfo> >::Write( | 136 void ParamTraits<scoped_refptr<content::ResourceDevToolsInfo> >::Write( |
| 138 Message* m, const param_type& p) { | 137 Message* m, const param_type& p) { |
| 139 WriteParam(m, p.get() != NULL); | 138 WriteParam(m, p.get() != NULL); |
| 140 if (p.get()) { | 139 if (p.get()) { |
| 141 WriteParam(m, p->http_status_code); | 140 WriteParam(m, p->http_status_code); |
| 142 WriteParam(m, p->http_status_text); | 141 WriteParam(m, p->http_status_text); |
| 143 WriteParam(m, p->request_headers); | 142 WriteParam(m, p->request_headers); |
| 144 WriteParam(m, p->response_headers); | 143 WriteParam(m, p->response_headers); |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 | 270 |
| 272 bool ParamTraits<scoped_refptr<content::ResourceRequestBody> >::Read( | 271 bool ParamTraits<scoped_refptr<content::ResourceRequestBody> >::Read( |
| 273 const Message* m, | 272 const Message* m, |
| 274 PickleIterator* iter, | 273 PickleIterator* iter, |
| 275 param_type* r) { | 274 param_type* r) { |
| 276 bool has_object; | 275 bool has_object; |
| 277 if (!ReadParam(m, iter, &has_object)) | 276 if (!ReadParam(m, iter, &has_object)) |
| 278 return false; | 277 return false; |
| 279 if (!has_object) | 278 if (!has_object) |
| 280 return true; | 279 return true; |
| 281 std::vector<webkit_common::DataElement> elements; | 280 std::vector<storage::DataElement> elements; |
| 282 if (!ReadParam(m, iter, &elements)) | 281 if (!ReadParam(m, iter, &elements)) |
| 283 return false; | 282 return false; |
| 284 int64 identifier; | 283 int64 identifier; |
| 285 if (!ReadParam(m, iter, &identifier)) | 284 if (!ReadParam(m, iter, &identifier)) |
| 286 return false; | 285 return false; |
| 287 *r = new content::ResourceRequestBody; | 286 *r = new content::ResourceRequestBody; |
| 288 (*r)->swap_elements(&elements); | 287 (*r)->swap_elements(&elements); |
| 289 (*r)->set_identifier(identifier); | 288 (*r)->set_identifier(identifier); |
| 290 return true; | 289 return true; |
| 291 } | 290 } |
| 292 | 291 |
| 293 void ParamTraits<scoped_refptr<content::ResourceRequestBody> >::Log( | 292 void ParamTraits<scoped_refptr<content::ResourceRequestBody> >::Log( |
| 294 const param_type& p, std::string* l) { | 293 const param_type& p, std::string* l) { |
| 295 l->append("<ResourceRequestBody>"); | 294 l->append("<ResourceRequestBody>"); |
| 296 } | 295 } |
| 297 | 296 |
| 298 } // namespace IPC | 297 } // namespace IPC |
| OLD | NEW |