refactor: instantiate navigation_entries
local variable on the stack (#46453)
* refactor: instantiate navigation_entries on the stack instead of the heap * refactor: reserve the full size of navigation_entries * refactor: use emplace_back to simplify the code a little
This commit is contained in:
parent
c2ae4afb8f
commit
4e33d1690d
1 changed files with 6 additions and 6 deletions
|
@ -2518,8 +2518,9 @@ void WebContents::RestoreHistory(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto navigation_entries = std::make_unique<
|
auto navigation_entries =
|
||||||
std::vector<std::unique_ptr<content::NavigationEntry>>>();
|
std::vector<std::unique_ptr<content::NavigationEntry>>{};
|
||||||
|
navigation_entries.reserve(entries.size());
|
||||||
|
|
||||||
blink::UserAgentOverride ua_override;
|
blink::UserAgentOverride ua_override;
|
||||||
ua_override.ua_string_override = GetUserAgent();
|
ua_override.ua_string_override = GetUserAgent();
|
||||||
|
@ -2539,14 +2540,13 @@ void WebContents::RestoreHistory(
|
||||||
|
|
||||||
nav_entry->SetIsOverridingUserAgent(
|
nav_entry->SetIsOverridingUserAgent(
|
||||||
!ua_override.ua_string_override.empty());
|
!ua_override.ua_string_override.empty());
|
||||||
navigation_entries->push_back(
|
navigation_entries.emplace_back(nav_entry);
|
||||||
std::unique_ptr<content::NavigationEntry>(nav_entry));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!navigation_entries->empty()) {
|
if (!navigation_entries.empty()) {
|
||||||
web_contents()->SetUserAgentOverride(ua_override, false);
|
web_contents()->SetUserAgentOverride(ua_override, false);
|
||||||
web_contents()->GetController().Restore(
|
web_contents()->GetController().Restore(
|
||||||
index, content::RestoreType::kRestored, navigation_entries.get());
|
index, content::RestoreType::kRestored, &navigation_entries);
|
||||||
web_contents()->GetController().LoadIfNecessary();
|
web_contents()->GetController().LoadIfNecessary();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue