| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/offline_pages/request_header/offline_page_header.h" | 5 #include "components/offline_pages/core/request_header/offline_page_header.h" |
| 6 | 6 |
| 7 #include "base/strings/string_tokenizer.h" | 7 #include "base/strings/string_tokenizer.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 | 9 |
| 10 namespace offline_pages { | 10 namespace offline_pages { |
| 11 | 11 |
| 12 const char kOfflinePageHeader[] = "X-Chrome-offline"; | 12 const char kOfflinePageHeader[] = "X-Chrome-offline"; |
| 13 const char kOfflinePageHeaderReasonKey[] = "reason"; | 13 const char kOfflinePageHeaderReasonKey[] = "reason"; |
| 14 const char kOfflinePageHeaderReasonValueDueToNetError[] = "error"; | 14 const char kOfflinePageHeaderReasonValueDueToNetError[] = "error"; |
| 15 const char kOfflinePageHeaderReasonValueFromDownload[] = "download"; | 15 const char kOfflinePageHeaderReasonValueFromDownload[] = "download"; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 NOTREACHED(); | 75 NOTREACHED(); |
| 76 return ""; | 76 return ""; |
| 77 } | 77 } |
| 78 } | 78 } |
| 79 | 79 |
| 80 } // namespace | 80 } // namespace |
| 81 | 81 |
| 82 OfflinePageHeader::OfflinePageHeader() | 82 OfflinePageHeader::OfflinePageHeader() |
| 83 : did_fail_parsing_for_test(false), | 83 : did_fail_parsing_for_test(false), |
| 84 need_to_persist(false), | 84 need_to_persist(false), |
| 85 reason(Reason::NONE) { | 85 reason(Reason::NONE) {} |
| 86 } | |
| 87 | 86 |
| 88 OfflinePageHeader::OfflinePageHeader(const std::string& header_value) | 87 OfflinePageHeader::OfflinePageHeader(const std::string& header_value) |
| 89 : did_fail_parsing_for_test(false), | 88 : did_fail_parsing_for_test(false), |
| 90 need_to_persist(false), | 89 need_to_persist(false), |
| 91 reason(Reason::NONE) { | 90 reason(Reason::NONE) { |
| 92 if (!ParseOfflineHeaderValue(header_value, &need_to_persist, &reason, &id)) { | 91 if (!ParseOfflineHeaderValue(header_value, &need_to_persist, &reason, &id)) { |
| 93 did_fail_parsing_for_test = true; | 92 did_fail_parsing_for_test = true; |
| 94 Clear(); | 93 Clear(); |
| 95 } | 94 } |
| 96 } | 95 } |
| 97 | 96 |
| 98 OfflinePageHeader::~OfflinePageHeader() {} | 97 OfflinePageHeader::~OfflinePageHeader() {} |
| 99 | 98 |
| 100 std::string OfflinePageHeader::GetCompleteHeaderString() const { | 99 std::string OfflinePageHeader::GetCompleteHeaderString() const { |
| 101 if (reason == Reason::NONE) | 100 if (reason == Reason::NONE) |
| 102 return std::string(); | 101 return std::string(); |
| 103 | 102 |
| 104 std::string value(kOfflinePageHeader); | 103 std::string value(kOfflinePageHeader); |
| 105 value += ": "; | 104 value += ": "; |
| 106 | 105 |
| 107 value += kOfflinePageHeaderPersistKey; | 106 value += kOfflinePageHeaderPersistKey; |
| 108 value += "="; | 107 value += "="; |
| 109 value += need_to_persist ? "1" : "0"; | 108 value += need_to_persist ? "1" : "0"; |
| 110 | 109 |
| 111 value += " " ; | 110 value += " "; |
| 112 value += kOfflinePageHeaderReasonKey; | 111 value += kOfflinePageHeaderReasonKey; |
| 113 value += "="; | 112 value += "="; |
| 114 value += ReasonToString(reason); | 113 value += ReasonToString(reason); |
| 115 | 114 |
| 116 if (!id.empty()) { | 115 if (!id.empty()) { |
| 117 value += " " ; | 116 value += " "; |
| 118 value += kOfflinePageHeaderIDKey; | 117 value += kOfflinePageHeaderIDKey; |
| 119 value += "="; | 118 value += "="; |
| 120 value += id; | 119 value += id; |
| 121 } | 120 } |
| 122 | 121 |
| 123 return value; | 122 return value; |
| 124 } | 123 } |
| 125 | 124 |
| 126 void OfflinePageHeader::Clear() { | 125 void OfflinePageHeader::Clear() { |
| 127 reason = Reason::NONE; | 126 reason = Reason::NONE; |
| 128 need_to_persist = false; | 127 need_to_persist = false; |
| 129 id.clear(); | 128 id.clear(); |
| 130 } | 129 } |
| 131 | 130 |
| 132 } // namespace offline_pages | 131 } // namespace offline_pages |
| OLD | NEW |