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

Side by Side Diff: components/sessions/serialized_navigation_entry.cc

Issue 1154283003: Change most uses of Pickle to base::Pickle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/sessions/serialized_navigation_entry.h" 5 #include "components/sessions/serialized_navigation_entry.h"
6 6
7 #include "base/pickle.h" 7 #include "base/pickle.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "components/sessions/core/serialized_navigation_driver.h" 9 #include "components/sessions/core/serialized_navigation_driver.h"
10 #include "sync/protocol/session_specifics.pb.h" 10 #include "sync/protocol/session_specifics.pb.h"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 137
138 namespace { 138 namespace {
139 139
140 // Helper used by SerializedNavigationEntry::WriteToPickle(). It writes |str| to 140 // Helper used by SerializedNavigationEntry::WriteToPickle(). It writes |str| to
141 // |pickle|, if and only if |str| fits within (|max_bytes| - 141 // |pickle|, if and only if |str| fits within (|max_bytes| -
142 // |*bytes_written|). |bytes_written| is incremented to reflect the 142 // |*bytes_written|). |bytes_written| is incremented to reflect the
143 // data written. 143 // data written.
144 // 144 //
145 // TODO(akalin): Unify this with the same function in 145 // TODO(akalin): Unify this with the same function in
146 // base_session_service.cc. 146 // base_session_service.cc.
147 void WriteStringToPickle(Pickle* pickle, 147 void WriteStringToPickle(base::Pickle* pickle,
148 int* bytes_written, 148 int* bytes_written,
149 int max_bytes, 149 int max_bytes,
150 const std::string& str) { 150 const std::string& str) {
151 int num_bytes = str.size() * sizeof(char); 151 int num_bytes = str.size() * sizeof(char);
152 if (*bytes_written + num_bytes < max_bytes) { 152 if (*bytes_written + num_bytes < max_bytes) {
153 *bytes_written += num_bytes; 153 *bytes_written += num_bytes;
154 pickle->WriteString(str); 154 pickle->WriteString(str);
155 } else { 155 } else {
156 pickle->WriteString(std::string()); 156 pickle->WriteString(std::string());
157 } 157 }
158 } 158 }
159 159
160 // base::string16 version of WriteStringToPickle. 160 // base::string16 version of WriteStringToPickle.
161 // 161 //
162 // TODO(akalin): Unify this, too. 162 // TODO(akalin): Unify this, too.
163 void WriteString16ToPickle(Pickle* pickle, 163 void WriteString16ToPickle(base::Pickle* pickle,
164 int* bytes_written, 164 int* bytes_written,
165 int max_bytes, 165 int max_bytes,
166 const base::string16& str) { 166 const base::string16& str) {
167 int num_bytes = str.size() * sizeof(base::char16); 167 int num_bytes = str.size() * sizeof(base::char16);
168 if (*bytes_written + num_bytes < max_bytes) { 168 if (*bytes_written + num_bytes < max_bytes) {
169 *bytes_written += num_bytes; 169 *bytes_written += num_bytes;
170 pickle->WriteString16(str); 170 pickle->WriteString16(str);
171 } else { 171 } else {
172 pickle->WriteString16(base::string16()); 172 pickle->WriteString16(base::string16());
173 } 173 }
(...skipping 25 matching lines...) Expand all
199 // referrer_url_ 199 // referrer_url_
200 // referrer_policy_ (broken, crbug.com/450589) 200 // referrer_policy_ (broken, crbug.com/450589)
201 // original_request_url_ 201 // original_request_url_
202 // is_overriding_user_agent_ 202 // is_overriding_user_agent_
203 // timestamp_ 203 // timestamp_
204 // search_terms_ 204 // search_terms_
205 // http_status_code_ 205 // http_status_code_
206 // referrer_policy_ 206 // referrer_policy_
207 207
208 void SerializedNavigationEntry::WriteToPickle(int max_size, 208 void SerializedNavigationEntry::WriteToPickle(int max_size,
209 Pickle* pickle) const { 209 base::Pickle* pickle) const {
210 pickle->WriteInt(index_); 210 pickle->WriteInt(index_);
211 211
212 int bytes_written = 0; 212 int bytes_written = 0;
213 213
214 WriteStringToPickle(pickle, &bytes_written, max_size, 214 WriteStringToPickle(pickle, &bytes_written, max_size,
215 virtual_url_.spec()); 215 virtual_url_.spec());
216 216
217 WriteString16ToPickle(pickle, &bytes_written, max_size, title_); 217 WriteString16ToPickle(pickle, &bytes_written, max_size, title_);
218 218
219 const std::string encoded_page_state = 219 const std::string encoded_page_state =
(...skipping 23 matching lines...) Expand all
243 pickle->WriteBool(is_overriding_user_agent_); 243 pickle->WriteBool(is_overriding_user_agent_);
244 pickle->WriteInt64(timestamp_.ToInternalValue()); 244 pickle->WriteInt64(timestamp_.ToInternalValue());
245 245
246 WriteString16ToPickle(pickle, &bytes_written, max_size, search_terms_); 246 WriteString16ToPickle(pickle, &bytes_written, max_size, search_terms_);
247 247
248 pickle->WriteInt(http_status_code_); 248 pickle->WriteInt(http_status_code_);
249 249
250 pickle->WriteInt(referrer_policy_); 250 pickle->WriteInt(referrer_policy_);
251 } 251 }
252 252
253 bool SerializedNavigationEntry::ReadFromPickle(PickleIterator* iterator) { 253 bool SerializedNavigationEntry::ReadFromPickle(base::PickleIterator* iterator) {
254 *this = SerializedNavigationEntry(); 254 *this = SerializedNavigationEntry();
255 std::string virtual_url_spec; 255 std::string virtual_url_spec;
256 int transition_type_int = 0; 256 int transition_type_int = 0;
257 if (!iterator->ReadInt(&index_) || 257 if (!iterator->ReadInt(&index_) ||
258 !iterator->ReadString(&virtual_url_spec) || 258 !iterator->ReadString(&virtual_url_spec) ||
259 !iterator->ReadString16(&title_) || 259 !iterator->ReadString16(&title_) ||
260 !iterator->ReadString(&encoded_page_state_) || 260 !iterator->ReadString(&encoded_page_state_) ||
261 !iterator->ReadInt(&transition_type_int)) 261 !iterator->ReadInt(&transition_type_int))
262 return false; 262 return false;
263 virtual_url_ = GURL(virtual_url_spec); 263 virtual_url_ = GURL(virtual_url_spec);
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 redirect_chain_[last_entry].spec()); 464 redirect_chain_[last_entry].spec());
465 } 465 }
466 } 466 }
467 467
468 sync_data.set_is_restored(is_restored_); 468 sync_data.set_is_restored(is_restored_);
469 469
470 return sync_data; 470 return sync_data;
471 } 471 }
472 472
473 } // namespace sessions 473 } // namespace sessions
OLDNEW
« no previous file with comments | « components/sessions/base_session_service_commands.cc ('k') | components/sessions/serialized_navigation_entry_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698