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 |