| Index: Source/WebCore/page/Page.cpp
 | 
| ===================================================================
 | 
| --- Source/WebCore/page/Page.cpp	(revision 79367)
 | 
| +++ Source/WebCore/page/Page.cpp	(working copy)
 | 
| @@ -338,25 +338,10 @@
 | 
|      // stopAllLoaders may end up running onload handlers, which could cause further history traversals that may lead to the passed in HistoryItem
 | 
|      // being deref()-ed. Make sure we can still use it with HistoryController::goToItem later.
 | 
|      RefPtr<HistoryItem> protector(item);
 | 
| -    
 | 
| -    // Abort any current load unless we're navigating the current document to a new state object
 | 
| -    HistoryItem* currentItem = m_mainFrame->loader()->history()->currentItem();
 | 
| -    if (!item->stateObject() || !currentItem || item->documentSequenceNumber() != currentItem->documentSequenceNumber() || item == currentItem) {
 | 
| -        // Define what to do with any open database connections. By default we stop them and terminate the database thread.
 | 
| -        DatabasePolicy databasePolicy = DatabasePolicyStop;
 | 
|  
 | 
| -#if ENABLE(DATABASE)
 | 
| -        // If we're navigating the history via a fragment on the same document, then we do not want to stop databases.
 | 
| -        const KURL& currentURL = m_mainFrame->loader()->url();
 | 
| -        const KURL& newURL = item->url();
 | 
| -    
 | 
| -        if (newURL.hasFragmentIdentifier() && equalIgnoringFragmentIdentifier(currentURL, newURL))
 | 
| -            databasePolicy = DatabasePolicyContinue;
 | 
| -#endif
 | 
| +    if (m_mainFrame->loader()->history()->shouldStopLoadingForHistoryItem(item))
 | 
| +        m_mainFrame->loader()->stopAllLoaders();
 | 
|  
 | 
| -        m_mainFrame->loader()->stopAllLoaders(databasePolicy);
 | 
| -    }
 | 
| -        
 | 
|      m_mainFrame->loader()->history()->goToItem(item, type);
 | 
|  }
 | 
|  
 | 
| 
 |