OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #import "ios/web/navigation/crw_session_controller.h" | 5 #import "ios/web/navigation/crw_session_controller.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <utility> | 10 #include <utility> |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 _tabId = [[self uniqueID] retain]; | 181 _tabId = [[self uniqueID] retain]; |
182 _openerId = nil; | 182 _openerId = nil; |
183 _browserState = browserState; | 183 _browserState = browserState; |
184 | 184 |
185 // Create entries array from list of navigations. | 185 // Create entries array from list of navigations. |
186 _entries = [[NSMutableArray alloc] initWithCapacity:scoped_items.size()]; | 186 _entries = [[NSMutableArray alloc] initWithCapacity:scoped_items.size()]; |
187 std::vector<web::NavigationItem*> items; | 187 std::vector<web::NavigationItem*> items; |
188 scoped_items.release(&items); | 188 scoped_items.release(&items); |
189 | 189 |
190 for (size_t i = 0; i < items.size(); ++i) { | 190 for (size_t i = 0; i < items.size(); ++i) { |
191 scoped_ptr<web::NavigationItem> item(items[i]); | 191 std::unique_ptr<web::NavigationItem> item(items[i]); |
192 base::scoped_nsobject<CRWSessionEntry> entry( | 192 base::scoped_nsobject<CRWSessionEntry> entry( |
193 [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item)]); | 193 [[CRWSessionEntry alloc] initWithNavigationItem:std::move(item)]); |
194 [_entries addObject:entry]; | 194 [_entries addObject:entry]; |
195 } | 195 } |
196 self.currentNavigationIndex = currentIndex; | 196 self.currentNavigationIndex = currentIndex; |
197 // Prior to M34, 0 was used as "no index" instead of -1; adjust for that. | 197 // Prior to M34, 0 was used as "no index" instead of -1; adjust for that. |
198 if (![_entries count]) | 198 if (![_entries count]) |
199 self.currentNavigationIndex = -1; | 199 self.currentNavigationIndex = -1; |
200 if (_currentNavigationIndex >= static_cast<NSInteger>(items.size())) { | 200 if (_currentNavigationIndex >= static_cast<NSInteger>(items.size())) { |
201 self.currentNavigationIndex = static_cast<NSInteger>(items.size()) - 1; | 201 self.currentNavigationIndex = static_cast<NSInteger>(items.size()) - 1; |
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 } | 866 } |
867 | 867 |
868 - (CRWSessionEntry*)sessionEntryWithURL:(const GURL&)url | 868 - (CRWSessionEntry*)sessionEntryWithURL:(const GURL&)url |
869 referrer:(const web::Referrer&)referrer | 869 referrer:(const web::Referrer&)referrer |
870 transition:(ui::PageTransition)transition | 870 transition:(ui::PageTransition)transition |
871 useDesktopUserAgent:(BOOL)useDesktopUserAgent | 871 useDesktopUserAgent:(BOOL)useDesktopUserAgent |
872 rendererInitiated:(BOOL)rendererInitiated { | 872 rendererInitiated:(BOOL)rendererInitiated { |
873 GURL loaded_url(url); | 873 GURL loaded_url(url); |
874 BOOL urlWasRewritten = NO; | 874 BOOL urlWasRewritten = NO; |
875 if (_navigationManager) { | 875 if (_navigationManager) { |
876 scoped_ptr<std::vector<web::BrowserURLRewriter::URLRewriter>> | 876 std::unique_ptr<std::vector<web::BrowserURLRewriter::URLRewriter>> |
877 transientRewriters = _navigationManager->GetTransientURLRewriters(); | 877 transientRewriters = _navigationManager->GetTransientURLRewriters(); |
878 if (transientRewriters) { | 878 if (transientRewriters) { |
879 urlWasRewritten = web::BrowserURLRewriter::RewriteURLWithWriters( | 879 urlWasRewritten = web::BrowserURLRewriter::RewriteURLWithWriters( |
880 &loaded_url, _browserState, *transientRewriters.get()); | 880 &loaded_url, _browserState, *transientRewriters.get()); |
881 } | 881 } |
882 } | 882 } |
883 if (!urlWasRewritten) { | 883 if (!urlWasRewritten) { |
884 web::BrowserURLRewriter::GetInstance()->RewriteURLIfNecessary( | 884 web::BrowserURLRewriter::GetInstance()->RewriteURLIfNecessary( |
885 &loaded_url, _browserState); | 885 &loaded_url, _browserState); |
886 } | 886 } |
887 scoped_ptr<web::NavigationItemImpl> item(new web::NavigationItemImpl()); | 887 std::unique_ptr<web::NavigationItemImpl> item(new web::NavigationItemImpl()); |
888 item->SetURL(loaded_url); | 888 item->SetURL(loaded_url); |
889 item->SetReferrer(referrer); | 889 item->SetReferrer(referrer); |
890 item->SetTransitionType(transition); | 890 item->SetTransitionType(transition); |
891 item->SetIsOverridingUserAgent(useDesktopUserAgent); | 891 item->SetIsOverridingUserAgent(useDesktopUserAgent); |
892 item->set_is_renderer_initiated(rendererInitiated); | 892 item->set_is_renderer_initiated(rendererInitiated); |
893 return [[[CRWSessionEntry alloc] initWithNavigationItem:std::move(item)] | 893 return [[[CRWSessionEntry alloc] initWithNavigationItem:std::move(item)] |
894 autorelease]; | 894 autorelease]; |
895 } | 895 } |
896 | 896 |
897 @end | 897 @end |
OLD | NEW |