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

Unified Diff: ios/web/navigation/navigation_manager_impl.mm

Issue 2805453002: Reland of Set user agent type of transient item the same as pending item (Closed)
Patch Set: Rebase Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: ios/web/navigation/navigation_manager_impl.mm
diff --git a/ios/web/navigation/navigation_manager_impl.mm b/ios/web/navigation/navigation_manager_impl.mm
index da2ae03a14d715f438312e472af75142eecc141b..54f69e5f33a0a7cb8a25256292935d1a0832580d 100644
--- a/ios/web/navigation/navigation_manager_impl.mm
+++ b/ios/web/navigation/navigation_manager_impl.mm
@@ -170,6 +170,19 @@ bool AreURLsInPageNavigation(const GURL& existing_url, const GURL& new_url) {
delegate_->GetWebState()->OpenURL(params);
}
+void NavigationManagerImpl::AddTransientItem(const GURL& url) {
+ [session_controller_ addTransientItemWithURL:url];
+
+ // TODO(crbug.com/676129): Transient item is only supposed to be added for
+ // pending non-app-specific loads, but pending item can be null because of the
+ // bug. The workaround should be removed once the bug is fixed.
+ NavigationItem* item = GetPendingItem();
+ if (!item)
+ item = GetLastCommittedNonAppSpecificItem();
+ DCHECK(item->GetUserAgentType() != UserAgentType::NONE);
+ GetTransientItem()->SetUserAgentType(item->GetUserAgentType());
+}
+
void NavigationManagerImpl::AddPendingItem(
const GURL& url,
const web::Referrer& referrer,
« no previous file with comments | « ios/web/navigation/navigation_manager_impl.h ('k') | ios/web/navigation/navigation_manager_impl_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698