| Index: content/browser/frame_host/navigation_controller_impl.cc
|
| diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
|
| index 6d1c597d7604629df1b636ed8947c099fbc40c5c..cda5a721bab4baf1259ddf39a64a7b791d19b794 100644
|
| --- a/content/browser/frame_host/navigation_controller_impl.cc
|
| +++ b/content/browser/frame_host/navigation_controller_impl.cc
|
| @@ -769,12 +769,14 @@ bool NavigationControllerImpl::RendererDidNavigate(
|
| details->is_in_page = IsURLInPageNavigation(
|
| params.url, params.was_within_same_page, details->type);
|
|
|
| + bool clear_blocked_page_entry = true;
|
| switch (details->type) {
|
| case NAVIGATION_TYPE_NEW_PAGE:
|
| RendererDidNavigateToNewPage(rfh, params, details->did_replace_entry);
|
| break;
|
| case NAVIGATION_TYPE_EXISTING_PAGE:
|
| RendererDidNavigateToExistingPage(rfh, params);
|
| + clear_blocked_page_entry = false;
|
| break;
|
| case NAVIGATION_TYPE_SAME_PAGE:
|
| RendererDidNavigateToSamePage(rfh, params);
|
| @@ -803,6 +805,9 @@ bool NavigationControllerImpl::RendererDidNavigate(
|
| NOTREACHED();
|
| }
|
|
|
| + if (clear_blocked_page_entry)
|
| + blocked_page_entry_.reset(NULL);
|
| +
|
| // At this point, we know that the navigation has just completed, so
|
| // record the time.
|
| //
|
| @@ -1755,6 +1760,15 @@ void NavigationControllerImpl::SetTransientEntry(NavigationEntry* entry) {
|
| delegate_->NotifyNavigationStateChanged(kInvalidateAll);
|
| }
|
|
|
| +NavigationEntry* NavigationControllerImpl::GetBlockedPageEntry() const {
|
| + return blocked_page_entry_.get();
|
| +}
|
| +
|
| +void NavigationControllerImpl::SetBlockedPageEntry(NavigationEntry* entry) {
|
| + NavigationEntry* copy = NavigationEntry::Create(*entry);
|
| + blocked_page_entry_.reset(static_cast<NavigationEntryImpl*>(copy));
|
| +}
|
| +
|
| void NavigationControllerImpl::InsertEntriesFrom(
|
| const NavigationControllerImpl& source,
|
| int max_index) {
|
|
|