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

Side by Side Diff: ios/web/navigation/navigation_item_impl.mm

Issue 1106963003: Re-sync ios/web with downstream version (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add forgotten file Created 5 years, 7 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ios/web/navigation/navigation_item_impl.h" 5 #include "ios/web/navigation/navigation_item_impl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "net/base/net_util.h" 9 #include "net/base/net_util.h"
10 #include "ui/base/page_transition_types.h" 10 #include "ui/base/page_transition_types.h"
(...skipping 14 matching lines...) Expand all
25 25
26 // static 26 // static
27 scoped_ptr<NavigationItem> NavigationItem::Create() { 27 scoped_ptr<NavigationItem> NavigationItem::Create() {
28 return scoped_ptr<NavigationItem>(new NavigationItemImpl()); 28 return scoped_ptr<NavigationItem>(new NavigationItemImpl());
29 } 29 }
30 30
31 NavigationItemImpl::NavigationItemImpl() 31 NavigationItemImpl::NavigationItemImpl()
32 : unique_id_(GetUniqueIDInConstructor()), 32 : unique_id_(GetUniqueIDInConstructor()),
33 page_id_(-1), 33 page_id_(-1),
34 transition_type_(ui::PAGE_TRANSITION_LINK), 34 transition_type_(ui::PAGE_TRANSITION_LINK),
35 is_overriding_user_agent_(false),
36 is_created_from_push_state_(false),
37 should_skip_resubmit_data_confirmation_(false),
35 is_renderer_initiated_(false), 38 is_renderer_initiated_(false),
36 is_unsafe_(false), 39 is_unsafe_(false),
37 facade_delegate_(nullptr) { 40 facade_delegate_(nullptr) {
38 } 41 }
39 42
40 NavigationItemImpl::~NavigationItemImpl() { 43 NavigationItemImpl::~NavigationItemImpl() {
41 } 44 }
42 45
43 NavigationItemImpl::NavigationItemImpl(const NavigationItemImpl& item) 46 NavigationItemImpl::NavigationItemImpl(const NavigationItemImpl& item)
44 : unique_id_(item.unique_id_), 47 : unique_id_(item.unique_id_),
45 url_(item.url_), 48 url_(item.url_),
46 referrer_(item.referrer_), 49 referrer_(item.referrer_),
47 virtual_url_(item.virtual_url_), 50 virtual_url_(item.virtual_url_),
48 title_(item.title_), 51 title_(item.title_),
49 page_id_(item.page_id_), 52 page_id_(item.page_id_),
50 page_scroll_state_(item.page_scroll_state_), 53 page_scroll_state_(item.page_scroll_state_),
51 transition_type_(item.transition_type_), 54 transition_type_(item.transition_type_),
52 favicon_(item.favicon_), 55 favicon_(item.favicon_),
53 ssl_(item.ssl_), 56 ssl_(item.ssl_),
54 timestamp_(item.timestamp_), 57 timestamp_(item.timestamp_),
58 is_overriding_user_agent_(item.is_overriding_user_agent_),
59 http_request_headers_([item.http_request_headers_ copy]),
60 serialized_state_object_([item.serialized_state_object_ copy]),
61 is_created_from_push_state_(item.is_created_from_push_state_),
62 should_skip_resubmit_data_confirmation_(
63 item.should_skip_resubmit_data_confirmation_),
64 post_data_([item.post_data_ copy]),
55 is_renderer_initiated_(item.is_renderer_initiated_), 65 is_renderer_initiated_(item.is_renderer_initiated_),
56 is_unsafe_(item.is_unsafe_), 66 is_unsafe_(item.is_unsafe_),
57 cached_display_title_(item.cached_display_title_), 67 cached_display_title_(item.cached_display_title_),
58 facade_delegate_(nullptr) { 68 facade_delegate_(nullptr) {
59 } 69 }
60 70
61 void NavigationItemImpl::SetFacadeDelegate( 71 void NavigationItemImpl::SetFacadeDelegate(
62 scoped_ptr<NavigationItemFacadeDelegate> facade_delegate) { 72 scoped_ptr<NavigationItemFacadeDelegate> facade_delegate) {
63 facade_delegate_ = facade_delegate.Pass(); 73 facade_delegate_ = facade_delegate.Pass();
64 } 74 }
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 } 190 }
181 191
182 void NavigationItemImpl::SetTimestamp(base::Time timestamp) { 192 void NavigationItemImpl::SetTimestamp(base::Time timestamp) {
183 timestamp_ = timestamp; 193 timestamp_ = timestamp;
184 } 194 }
185 195
186 base::Time NavigationItemImpl::GetTimestamp() const { 196 base::Time NavigationItemImpl::GetTimestamp() const {
187 return timestamp_; 197 return timestamp_;
188 } 198 }
189 199
190 void NavigationItemImpl::ResetForCommit() {
191 // Any state that only matters when a navigation item is pending should be
192 // cleared here.
193 set_is_renderer_initiated(false);
194 }
195
196 void NavigationItemImpl::SetUnsafe(bool is_unsafe) { 200 void NavigationItemImpl::SetUnsafe(bool is_unsafe) {
197 is_unsafe_ = is_unsafe; 201 is_unsafe_ = is_unsafe;
198 } 202 }
199 203
200 bool NavigationItemImpl::IsUnsafe() const { 204 bool NavigationItemImpl::IsUnsafe() const {
201 return is_unsafe_; 205 return is_unsafe_;
202 } 206 }
203 207
208 void NavigationItemImpl::SetIsOverridingUserAgent(
209 bool is_overriding_user_agent) {
210 is_overriding_user_agent_ = is_overriding_user_agent;
211 }
212
213 bool NavigationItemImpl::IsOverridingUserAgent() const {
214 return is_overriding_user_agent_;
215 }
216
217 bool NavigationItemImpl::HasPostData() const {
218 return post_data_.get() != nil;
219 }
220
221 NSDictionary* NavigationItemImpl::GetHttpRequestHeaders() const {
222 return [[http_request_headers_ copy] autorelease];
223 }
224
225 void NavigationItemImpl::AddHttpRequestHeaders(
226 NSDictionary* additional_headers) {
227 if (!additional_headers)
228 return;
229
230 if (http_request_headers_)
231 [http_request_headers_ addEntriesFromDictionary:additional_headers];
232 else
233 http_request_headers_.reset([additional_headers mutableCopy]);
234 }
235
236 void NavigationItemImpl::SetSerializedStateObject(
237 NSString* serialized_state_object) {
238 serialized_state_object_.reset([serialized_state_object retain]);
239 }
240
241 NSString* NavigationItemImpl::GetSerializedStateObject() const {
242 return serialized_state_object_.get();
243 }
244
245 void NavigationItemImpl::SetIsCreatedFromPushState(bool push_state) {
246 is_created_from_push_state_ = push_state;
247 }
248
249 bool NavigationItemImpl::IsCreatedFromPushState() const {
250 return is_created_from_push_state_;
251 }
252
253 void NavigationItemImpl::SetShouldSkipResubmitDataConfirmation(bool skip) {
254 should_skip_resubmit_data_confirmation_ = skip;
255 }
256
257 bool NavigationItemImpl::ShouldSkipResubmitDataConfirmation() const {
258 return should_skip_resubmit_data_confirmation_;
259 }
260
261 void NavigationItemImpl::SetPostData(NSData* post_data) {
262 post_data_.reset([post_data retain]);
263 }
264
265 NSData* NavigationItemImpl::GetPostData() const {
266 return post_data_.get();
267 }
268
269 void NavigationItemImpl::RemoveHttpRequestHeaderForKey(NSString* key) {
270 DCHECK(key);
271 [http_request_headers_ removeObjectForKey:key];
272 if (![http_request_headers_ count])
273 http_request_headers_.reset();
274 }
275
276 void NavigationItemImpl::ResetHttpRequestHeaders() {
277 http_request_headers_.reset();
278 }
279
280 void NavigationItemImpl::ResetForCommit() {
281 // Any state that only matters when a navigation item is pending should be
282 // cleared here.
283 set_is_renderer_initiated(false);
284 }
285
204 } // namespace web 286 } // namespace web
OLDNEW
« no previous file with comments | « ios/web/navigation/navigation_item_impl.h ('k') | ios/web/navigation/navigation_item_impl_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698