| 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/browser/download/mhtml_generation_manager.h" | 5 #include "content/browser/download/mhtml_generation_manager.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <queue> | 8 #include <queue> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 480 | 480 |
| 481 const std::vector<MHTMLExtraDataPart>& extra_data_parts(extra_parts->parts()); | 481 const std::vector<MHTMLExtraDataPart>& extra_data_parts(extra_parts->parts()); |
| 482 if (extra_data_parts.empty()) | 482 if (extra_data_parts.empty()) |
| 483 return true; | 483 return true; |
| 484 | 484 |
| 485 std::string serialized_extra_data_parts; | 485 std::string serialized_extra_data_parts; |
| 486 | 486 |
| 487 // For each extra part, serialize that part and add to our accumulator | 487 // For each extra part, serialize that part and add to our accumulator |
| 488 // string. | 488 // string. |
| 489 for (auto part : extra_data_parts) { | 489 for (auto part : extra_data_parts) { |
| 490 // Write a newline, then a boundary, another newline, then the content | 490 // Write a newline, then a boundary, a newline, then the content |
| 491 // location, another newline, the content type, another newline, the another | 491 // location, a newline, the content type, a newline, extra_headers, |
| 492 // newline, the extra data string, and end with a newline. | 492 // two newlines, the body, and end with a newline. |
| 493 std::string serialized_extra_data_part = base::StringPrintf( | 493 std::string serialized_extra_data_part = base::StringPrintf( |
| 494 "--%s\r\n%s%s\r\n%s%s\r\n%s\r\n", boundary.c_str(), kContentLocation, | 494 "--%s\r\n%s%s\r\n%s%s\r\n%s\r\n\r\n%s\r\n", boundary.c_str(), |
| 495 part.content_location.c_str(), kContentType, part.content_type.c_str(), | 495 kContentLocation, part.content_location.c_str(), kContentType, |
| 496 part.content_type.c_str(), part.extra_headers.c_str(), |
| 496 part.body.c_str()); | 497 part.body.c_str()); |
| 497 DCHECK(base::IsStringASCII(serialized_extra_data_part)); | 498 DCHECK(base::IsStringASCII(serialized_extra_data_part)); |
| 498 | 499 |
| 499 serialized_extra_data_parts += serialized_extra_data_part; | 500 serialized_extra_data_parts += serialized_extra_data_part; |
| 500 } | 501 } |
| 501 | 502 |
| 502 // Write the string into the file. Returns false if we failed the write. | 503 // Write the string into the file. Returns false if we failed the write. |
| 503 return (file.WriteAtCurrentPos(serialized_extra_data_parts.data(), | 504 return (file.WriteAtCurrentPos(serialized_extra_data_parts.data(), |
| 504 serialized_extra_data_parts.size()) >= 0); | 505 serialized_extra_data_parts.size()) >= 0); |
| 505 } | 506 } |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 return iter->second.get(); | 690 return iter->second.get(); |
| 690 } | 691 } |
| 691 | 692 |
| 692 void MHTMLGenerationManager::RenderProcessExited(Job* job) { | 693 void MHTMLGenerationManager::RenderProcessExited(Job* job) { |
| 693 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 694 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 694 DCHECK(job); | 695 DCHECK(job); |
| 695 JobFinished(job, MhtmlSaveStatus::RENDER_PROCESS_EXITED); | 696 JobFinished(job, MhtmlSaveStatus::RENDER_PROCESS_EXITED); |
| 696 } | 697 } |
| 697 | 698 |
| 698 } // namespace content | 699 } // namespace content |
| OLD | NEW |