| Index: content/browser/frame_host/navigation_handle_impl.cc
|
| diff --git a/content/browser/frame_host/navigation_handle_impl.cc b/content/browser/frame_host/navigation_handle_impl.cc
|
| index 8ed60813cfc8592fe75bd843f6931c59c078c1ba..8f4c0701ff696a2263192d2aa242c5cb625c3cb2 100644
|
| --- a/content/browser/frame_host/navigation_handle_impl.cc
|
| +++ b/content/browser/frame_host/navigation_handle_impl.cc
|
| @@ -558,6 +558,13 @@ void NavigationHandleImpl::DidCommitNavigation(
|
| state_ = DID_COMMIT_ERROR_PAGE;
|
| } else {
|
| state_ = DID_COMMIT;
|
| +
|
| + // Getting this far means that the navigation was not blocked, and neither
|
| + // is this the error page navigation following a blocked navigation. Ensure
|
| + // the frame owner element is no longer collapsed as a result of a prior
|
| + // navigation having been blocked with BLOCK_REQUEST_AND_COLLAPSE.
|
| + if (!frame_tree_node()->IsMainFrame())
|
| + frame_tree_node()->SetFrameOwnerCollapsedState(false);
|
| }
|
| }
|
|
|
| @@ -587,6 +594,7 @@ NavigationHandleImpl::CheckWillStartRequest() {
|
| case NavigationThrottle::CANCEL:
|
| case NavigationThrottle::CANCEL_AND_IGNORE:
|
| case NavigationThrottle::BLOCK_REQUEST:
|
| + case NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE:
|
| state_ = CANCELING;
|
| return result;
|
|
|
| @@ -618,6 +626,7 @@ NavigationHandleImpl::CheckWillRedirectRequest() {
|
|
|
| case NavigationThrottle::CANCEL:
|
| case NavigationThrottle::CANCEL_AND_IGNORE:
|
| + case NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE:
|
| state_ = CANCELING;
|
| return result;
|
|
|
| @@ -665,6 +674,7 @@ NavigationHandleImpl::CheckWillProcessResponse() {
|
| return result;
|
|
|
| case NavigationThrottle::BLOCK_REQUEST:
|
| + case NavigationThrottle::BLOCK_REQUEST_AND_COLLAPSE:
|
| NOTREACHED();
|
| }
|
| }
|
|
|