Chromium Code Reviews| Index: content/browser/frame_host/navigator_impl.cc |
| diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc |
| index 5740af67acbee9231ed9620e601cc8be1848aa9a..1295eda0ca1a219c7da1fb7d03f5d23b777b1b84 100644 |
| --- a/content/browser/frame_host/navigator_impl.cc |
| +++ b/content/browser/frame_host/navigator_impl.cc |
| @@ -143,7 +143,8 @@ NavigationController* NavigatorImpl::GetController() { |
| void NavigatorImpl::DidStartProvisionalLoad( |
| RenderFrameHostImpl* render_frame_host, |
| const GURL& url, |
| - const base::TimeTicks& navigation_start) { |
| + const base::TimeTicks& navigation_start, |
| + bool has_user_gesture) { |
| bool is_main_frame = render_frame_host->frame_tree_node()->IsMainFrame(); |
| bool is_error_page = (url.spec() == kUnreachableWebDataURL); |
| bool is_iframe_srcdoc = (url.spec() == kAboutSrcDocURL); |
| @@ -209,7 +210,8 @@ void NavigatorImpl::DidStartProvisionalLoad( |
| is_renderer_initiated, |
| false, // is_same_page |
| is_iframe_srcdoc, // is_srcdoc |
| - navigation_start, pending_nav_entry_id, started_from_context_menu)); |
| + navigation_start, pending_nav_entry_id, has_user_gesture, |
| + started_from_context_menu)); |
| } |
| void NavigatorImpl::DidFailProvisionalLoadWithError( |
| @@ -1001,7 +1003,8 @@ void NavigatorImpl::OnBeginNavigation( |
| // entry from the NavigationController. |
| NavigationEntry* pending_entry = controller_->GetPendingEntry(); |
| navigation_request->CreateNavigationHandle( |
| - pending_entry ? pending_entry->GetUniqueID() : 0); |
| + pending_entry ? pending_entry->GetUniqueID() : 0, |
| + begin_params.has_user_gesture); |
| navigation_request->BeginNavigation(); |
| } |
| @@ -1158,7 +1161,13 @@ void NavigatorImpl::RequestNavigation(FrameTreeNode* frame_tree_node, |
| } |
| frame_tree_node->CreatedNavigationRequest(std::move(scoped_request)); |
| - navigation_request->CreateNavigationHandle(entry.GetUniqueID()); |
| + |
| + // Browser-initiated navigations are not currently considered to have a user |
| + // gesture, though this is intended to change as part of PlzNavigate (see the |
| + // TODO(clamy) for HasUserGesture in navigation_handle.h). |
| + bool has_user_gesture = false; |
| + navigation_request->CreateNavigationHandle(entry.GetUniqueID(), |
| + has_user_gesture); |
|
clamy
2016/11/17 14:30:04
We have the info about user gesture in the BeginNa
Bryan McQuade
2016/11/19 20:21:38
Ah, I missed that. Fixed, thanks!
|
| // Have the current renderer execute its beforeunload event if needed. If it |
| // is not needed then NavigationRequest::BeginNavigation should be directly |