| 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 1953f51262fac493ae1c1141dda3a8373fcf1c21..8c9f0332d62ca36934acfa1dd85c16691fa8e209 100644
|
| --- a/content/browser/frame_host/navigation_controller_impl.cc
|
| +++ b/content/browser/frame_host/navigation_controller_impl.cc
|
| @@ -819,13 +819,6 @@
|
|
|
| // Do navigation-type specific actions. These will make and commit an entry.
|
| details->type = ClassifyNavigation(rfh, params);
|
| - if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kSitePerProcess)) {
|
| - // For site-per-process, both ClassifyNavigation methods get it wrong (see
|
| - // http://crbug.com/464014) so don't worry about a mismatch if that's the
|
| - // case.
|
| - DCHECK_EQ(details->type, ClassifyNavigationWithoutPageID(rfh, params));
|
| - }
|
|
|
| // is_in_page must be computed before the entry gets committed.
|
| details->is_in_page = AreURLsInPageNavigation(rfh->GetLastCommittedURL(),
|
| @@ -1070,121 +1063,6 @@
|
| return NAVIGATION_TYPE_EXISTING_PAGE;
|
| }
|
|
|
| -NavigationType NavigationControllerImpl::ClassifyNavigationWithoutPageID(
|
| - RenderFrameHostImpl* rfh,
|
| - const FrameHostMsg_DidCommitProvisionalLoad_Params& params) const {
|
| - if (params.did_create_new_entry) {
|
| - // A new entry. We may or may not have a pending entry for the page, and
|
| - // this may or may not be the main frame.
|
| - if (ui::PageTransitionIsMainFrame(params.transition)) {
|
| - // TODO(avi): I want to use |if (!rfh->GetParent())| here but lots of unit
|
| - // tests fake auto subframe commits by sending the main frame a
|
| - // PAGE_TRANSITION_AUTO_SUBFRAME transition. Fix those, and adjust here.
|
| - return NAVIGATION_TYPE_NEW_PAGE;
|
| - }
|
| -
|
| - // When this is a new subframe navigation, we should have a committed page
|
| - // in which it's a subframe. This may not be the case when an iframe is
|
| - // navigated on a popup navigated to about:blank (the iframe would be
|
| - // written into the popup by script on the main page). For these cases,
|
| - // there isn't any navigation stuff we can do, so just ignore it.
|
| - if (!GetLastCommittedEntry())
|
| - return NAVIGATION_TYPE_NAV_IGNORE;
|
| -
|
| - // Valid subframe navigation.
|
| - return NAVIGATION_TYPE_NEW_SUBFRAME;
|
| - }
|
| -
|
| - // We only clear the session history when navigating to a new page.
|
| - DCHECK(!params.history_list_was_cleared);
|
| -
|
| - if (!ui::PageTransitionIsMainFrame(params.transition)) {
|
| - // All manual subframes would be did_create_new_entry and handled above, so
|
| - // we know this is auto.
|
| - if (GetLastCommittedEntry()) {
|
| - return NAVIGATION_TYPE_AUTO_SUBFRAME;
|
| - } else {
|
| - // We ignore subframes created in non-committed pages; we'd appreciate if
|
| - // people stopped doing that.
|
| - return NAVIGATION_TYPE_NAV_IGNORE;
|
| - }
|
| - }
|
| -
|
| - if (params.nav_entry_id == 0) {
|
| - // This is a renderer-initiated navigation (nav_entry_id == 0), but didn't
|
| - // create a new page.
|
| -
|
| - // Just like above in the did_create_new_entry case, it's possible to
|
| - // scribble onto an uncommitted page. Again, there isn't any navigation
|
| - // stuff that we can do, so ignore it here as well.
|
| - if (!GetLastCommittedEntry())
|
| - return NAVIGATION_TYPE_NAV_IGNORE;
|
| -
|
| - if (params.was_within_same_page) {
|
| - // This is history.replaceState(), which is renderer-initiated yet within
|
| - // the same page.
|
| - return NAVIGATION_TYPE_IN_PAGE;
|
| - } else {
|
| - // This is history.reload() or a client-side redirect.
|
| - return NAVIGATION_TYPE_EXISTING_PAGE;
|
| - }
|
| - }
|
| -
|
| - if (pending_entry_ && pending_entry_index_ == -1 &&
|
| - pending_entry_->GetUniqueID() == params.nav_entry_id) {
|
| - // In this case, we have a pending entry for a load of a new URL but Blink
|
| - // didn't do a new navigation (params.did_create_new_entry). This happens
|
| - // when you press enter in the URL bar to reload. We will create a pending
|
| - // entry, but Blink will convert it to a reload since it's the same page and
|
| - // not create a new entry for it (the user doesn't want to have a new
|
| - // back/forward entry when they do this). Therefore we want to just ignore
|
| - // the pending entry and go back to where we were (the "existing entry").
|
| - return NAVIGATION_TYPE_SAME_PAGE;
|
| - }
|
| -
|
| - if (params.intended_as_new_entry) {
|
| - // This was intended to be a navigation to a new entry but the pending entry
|
| - // got cleared in the meanwhile. Classify as EXISTING_PAGE because we may or
|
| - // may not have a pending entry.
|
| - return NAVIGATION_TYPE_EXISTING_PAGE;
|
| - }
|
| -
|
| - if (params.url_is_unreachable && failed_pending_entry_id_ != 0 &&
|
| - params.nav_entry_id == failed_pending_entry_id_) {
|
| - // If the renderer was going to a new pending entry that got cleared because
|
| - // of an error, this is the case of the user trying to retry a failed load
|
| - // by pressing return. Classify as EXISTING_PAGE because we probably don't
|
| - // have a pending entry.
|
| - return NAVIGATION_TYPE_EXISTING_PAGE;
|
| - }
|
| -
|
| - // Now we know that the notification is for an existing page. Find that entry.
|
| - int existing_entry_index = GetEntryIndexWithUniqueID(params.nav_entry_id);
|
| - if (existing_entry_index == -1) {
|
| - // The page was not found. It could have been pruned because of the limit on
|
| - // back/forward entries (not likely since we'll usually tell it to navigate
|
| - // to such entries). It could also mean that the renderer is smoking crack.
|
| - // TODO(avi): Crash the renderer like we do in the old ClassifyNavigation?
|
| - NOTREACHED() << "Could not find nav entry with id " << params.nav_entry_id;
|
| - return NAVIGATION_TYPE_NAV_IGNORE;
|
| - }
|
| -
|
| - // Any top-level navigations with the same base (minus the reference fragment)
|
| - // are in-page navigations. (We weeded out subframe navigations above.) Most
|
| - // of the time this doesn't matter since Blink doesn't tell us about subframe
|
| - // navigations that don't actually navigate, but it can happen when there is
|
| - // an encoding override (it always sends a navigation request).
|
| - NavigationEntryImpl* existing_entry = entries_[existing_entry_index].get();
|
| - if (AreURLsInPageNavigation(existing_entry->GetURL(), params.url,
|
| - params.was_within_same_page, rfh)) {
|
| - return NAVIGATION_TYPE_IN_PAGE;
|
| - }
|
| -
|
| - // Since we weeded out "new" navigations above, we know this is an existing
|
| - // (back/forward) navigation.
|
| - return NAVIGATION_TYPE_EXISTING_PAGE;
|
| -}
|
| -
|
| void NavigationControllerImpl::RendererDidNavigateToNewPage(
|
| RenderFrameHostImpl* rfh,
|
| const FrameHostMsg_DidCommitProvisionalLoad_Params& params,
|
| @@ -1946,15 +1824,6 @@
|
| return -1;
|
| }
|
|
|
| -int NavigationControllerImpl::GetEntryIndexWithUniqueID(
|
| - int nav_entry_id) const {
|
| - for (int i = static_cast<int>(entries_.size()) - 1; i >= 0; --i) {
|
| - if (entries_[i]->GetUniqueID() == nav_entry_id)
|
| - return i;
|
| - }
|
| - return -1;
|
| -}
|
| -
|
| NavigationEntryImpl* NavigationControllerImpl::GetTransientEntry() const {
|
| if (transient_entry_index_ == -1)
|
| return NULL;
|
|
|