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

Unified Diff: content/browser/frame_host/render_frame_host_manager.cc

Issue 1890493002: PlzNavigate: properly execute BeforeUnload on renderer initiated navigations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments Created 4 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_manager.cc
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index 2b8794e052f62f6ae570f704ad6d84722e3bf149..efd7a99e12d4f69d7957c4dea9693cacfeb0a59a 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -199,7 +199,8 @@ void RenderFrameHostManager::RemoveOuterDelegateFrame() {
RenderFrameHostImpl* RenderFrameHostManager::Navigate(
const GURL& dest_url,
const FrameNavigationEntry& frame_entry,
- const NavigationEntryImpl& entry) {
+ const NavigationEntryImpl& entry,
+ bool is_reload) {
TRACE_EVENT1("navigation", "RenderFrameHostManager:Navigate",
"FrameTreeNode id", frame_tree_node_->frame_tree_node_id());
// Create a pending RenderFrameHost to use for the navigation.
@@ -208,7 +209,7 @@ RenderFrameHostImpl* RenderFrameHostManager::Navigate(
entry.GetTransitionType(),
entry.restore_type() != NavigationEntryImpl::RESTORE_NONE,
entry.IsViewSourceMode(), entry.transferred_global_request_id(),
- entry.bindings());
+ entry.bindings(), is_reload);
if (!dest_render_frame_host)
return nullptr; // We weren't able to create a pending render frame host.
@@ -2113,7 +2114,8 @@ RenderFrameHostImpl* RenderFrameHostManager::UpdateStateForNavigate(
bool dest_is_restore,
bool dest_is_view_source_mode,
const GlobalRequestID& transferred_request_id,
- int bindings) {
+ int bindings,
+ bool is_reload) {
if (!frame_tree_node_->IsMainFrame() &&
!CanSubframeSwapProcess(dest_url, source_instance, dest_instance)) {
// Note: Do not add code here to determine whether the subframe should swap
@@ -2196,7 +2198,7 @@ RenderFrameHostImpl* RenderFrameHostManager::UpdateStateForNavigate(
render_frame_host_->GetRoutingID()));
pending_render_frame_host_->SetNavigationsSuspended(true,
base::TimeTicks());
- render_frame_host_->DispatchBeforeUnload(true);
+ render_frame_host_->DispatchBeforeUnload(true, is_reload);
}
return pending_render_frame_host_.get();

Powered by Google App Engine
This is Rietveld 408576698