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

Side by Side Diff: android_webview/native/state_serializer.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 (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 "android_webview/native/state_serializer.h" 5 #include "android_webview/native/state_serializer.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/pickle.h" 10 #include "base/pickle.h"
(...skipping 22 matching lines...) Expand all
33 namespace { 33 namespace {
34 34
35 // Sanity check value that we are restoring from a valid pickle. 35 // Sanity check value that we are restoring from a valid pickle.
36 // This can potentially used as an actual serialization version number in the 36 // This can potentially used as an actual serialization version number in the
37 // future if we ever decide to support restoring from older versions. 37 // future if we ever decide to support restoring from older versions.
38 const uint32 AW_STATE_VERSION = 20130814; 38 const uint32 AW_STATE_VERSION = 20130814;
39 39
40 } // namespace 40 } // namespace
41 41
42 bool WriteToPickle(const content::WebContents& web_contents, 42 bool WriteToPickle(const content::WebContents& web_contents,
43 Pickle* pickle) { 43 base::Pickle* pickle) {
44 DCHECK(pickle); 44 DCHECK(pickle);
45 45
46 if (!internal::WriteHeaderToPickle(pickle)) 46 if (!internal::WriteHeaderToPickle(pickle))
47 return false; 47 return false;
48 48
49 const content::NavigationController& controller = 49 const content::NavigationController& controller =
50 web_contents.GetController(); 50 web_contents.GetController();
51 const int entry_count = controller.GetEntryCount(); 51 const int entry_count = controller.GetEntryCount();
52 const int selected_entry = controller.GetCurrentEntryIndex(); 52 const int selected_entry = controller.GetCurrentEntryIndex();
53 DCHECK_GE(entry_count, 0); 53 DCHECK_GE(entry_count, 0);
(...skipping 10 matching lines...) Expand all
64 if (!internal::WriteNavigationEntryToPickle(*controller.GetEntryAtIndex(i), 64 if (!internal::WriteNavigationEntryToPickle(*controller.GetEntryAtIndex(i),
65 pickle)) 65 pickle))
66 return false; 66 return false;
67 } 67 }
68 68
69 // Please update AW_STATE_VERSION if serialization format is changed. 69 // Please update AW_STATE_VERSION if serialization format is changed.
70 70
71 return true; 71 return true;
72 } 72 }
73 73
74 bool RestoreFromPickle(PickleIterator* iterator, 74 bool RestoreFromPickle(base::PickleIterator* iterator,
75 content::WebContents* web_contents) { 75 content::WebContents* web_contents) {
76 DCHECK(iterator); 76 DCHECK(iterator);
77 DCHECK(web_contents); 77 DCHECK(web_contents);
78 78
79 if (!internal::RestoreHeaderFromPickle(iterator)) 79 if (!internal::RestoreHeaderFromPickle(iterator))
80 return false; 80 return false;
81 81
82 int entry_count = -1; 82 int entry_count = -1;
83 int selected_entry = -2; // -1 is a valid value 83 int selected_entry = -2; // -1 is a valid value
84 84
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 } 129 }
130 } 130 }
131 131
132 controller.LoadIfNecessary(); 132 controller.LoadIfNecessary();
133 133
134 return true; 134 return true;
135 } 135 }
136 136
137 namespace internal { 137 namespace internal {
138 138
139 bool WriteHeaderToPickle(Pickle* pickle) { 139 bool WriteHeaderToPickle(base::Pickle* pickle) {
140 return pickle->WriteUInt32(AW_STATE_VERSION); 140 return pickle->WriteUInt32(AW_STATE_VERSION);
141 } 141 }
142 142
143 bool RestoreHeaderFromPickle(PickleIterator* iterator) { 143 bool RestoreHeaderFromPickle(base::PickleIterator* iterator) {
144 uint32 state_version = -1; 144 uint32 state_version = -1;
145 if (!iterator->ReadUInt32(&state_version)) 145 if (!iterator->ReadUInt32(&state_version))
146 return false; 146 return false;
147 147
148 if (AW_STATE_VERSION != state_version) 148 if (AW_STATE_VERSION != state_version)
149 return false; 149 return false;
150 150
151 return true; 151 return true;
152 } 152 }
153 153
154 bool WriteNavigationEntryToPickle(const content::NavigationEntry& entry, 154 bool WriteNavigationEntryToPickle(const content::NavigationEntry& entry,
155 Pickle* pickle) { 155 base::Pickle* pickle) {
156 if (!pickle->WriteString(entry.GetURL().spec())) 156 if (!pickle->WriteString(entry.GetURL().spec()))
157 return false; 157 return false;
158 158
159 if (!pickle->WriteString(entry.GetVirtualURL().spec())) 159 if (!pickle->WriteString(entry.GetVirtualURL().spec()))
160 return false; 160 return false;
161 161
162 const content::Referrer& referrer = entry.GetReferrer(); 162 const content::Referrer& referrer = entry.GetReferrer();
163 if (!pickle->WriteString(referrer.url.spec())) 163 if (!pickle->WriteString(referrer.url.spec()))
164 return false; 164 return false;
165 if (!pickle->WriteInt(static_cast<int>(referrer.policy))) 165 if (!pickle->WriteInt(static_cast<int>(referrer.policy)))
(...skipping 21 matching lines...) Expand all
187 return false; 187 return false;
188 188
189 if (!pickle->WriteInt(entry.GetHttpStatusCode())) 189 if (!pickle->WriteInt(entry.GetHttpStatusCode()))
190 return false; 190 return false;
191 191
192 // Please update AW_STATE_VERSION if serialization format is changed. 192 // Please update AW_STATE_VERSION if serialization format is changed.
193 193
194 return true; 194 return true;
195 } 195 }
196 196
197 bool RestoreNavigationEntryFromPickle(PickleIterator* iterator, 197 bool RestoreNavigationEntryFromPickle(base::PickleIterator* iterator,
198 content::NavigationEntry* entry) { 198 content::NavigationEntry* entry) {
199 { 199 {
200 string url; 200 string url;
201 if (!iterator->ReadString(&url)) 201 if (!iterator->ReadString(&url))
202 return false; 202 return false;
203 entry->SetURL(GURL(url)); 203 entry->SetURL(GURL(url));
204 } 204 }
205 205
206 { 206 {
207 string virtual_url; 207 string virtual_url;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 return false; 281 return false;
282 entry->SetHttpStatusCode(http_status_code); 282 entry->SetHttpStatusCode(http_status_code);
283 } 283 }
284 284
285 return true; 285 return true;
286 } 286 }
287 287
288 } // namespace internal 288 } // namespace internal
289 289
290 } // namespace android_webview 290 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/native/aw_contents.cc ('k') | android_webview/native/state_serializer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698