| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
| 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
| 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. |
| 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> | 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> |
| 8 * Copyright (C) 2011 Google Inc. All rights reserved. | 8 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 9 * | 9 * |
| 10 * Redistribution and use in source and binary forms, with or without | 10 * Redistribution and use in source and binary forms, with or without |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 documentLoader->replaceDocumentWhileExecutingJavaScriptURL(init, source); | 367 documentLoader->replaceDocumentWhileExecutingJavaScriptURL(init, source); |
| 368 } | 368 } |
| 369 | 369 |
| 370 void FrameLoader::clearProvisionalHistoryItem() | 370 void FrameLoader::clearProvisionalHistoryItem() |
| 371 { | 371 { |
| 372 m_provisionalItem.clear(); | 372 m_provisionalItem.clear(); |
| 373 } | 373 } |
| 374 | 374 |
| 375 void FrameLoader::setHistoryItemStateForCommit(FrameLoadType loadType, HistoryCo
mmitType historyCommitType, HistoryNavigationType navigationType) | 375 void FrameLoader::setHistoryItemStateForCommit(FrameLoadType loadType, HistoryCo
mmitType historyCommitType, HistoryNavigationType navigationType) |
| 376 { | 376 { |
| 377 if (m_frame->settings()->historyEntryRequiresUserGesture() && historyCommitT
ype == StandardCommit) |
| 378 UserGestureIndicator::clearProcessedUserGestureSinceLoad(); |
| 379 |
| 377 HistoryItem* oldItem = m_currentItem; | 380 HistoryItem* oldItem = m_currentItem; |
| 378 if (isBackForwardLoadType(loadType) && m_provisionalItem) | 381 if (isBackForwardLoadType(loadType) && m_provisionalItem) |
| 379 m_currentItem = m_provisionalItem.release(); | 382 m_currentItem = m_provisionalItem.release(); |
| 380 else | 383 else |
| 381 m_currentItem = HistoryItem::create(); | 384 m_currentItem = HistoryItem::create(); |
| 382 m_currentItem->setURL(m_documentLoader->urlForHistory()); | 385 m_currentItem->setURL(m_documentLoader->urlForHistory()); |
| 383 m_currentItem->setDocumentState(m_frame->document()->formElementsState()); | 386 m_currentItem->setDocumentState(m_frame->document()->formElementsState()); |
| 384 m_currentItem->setTarget(m_frame->tree().uniqueName()); | 387 m_currentItem->setTarget(m_frame->tree().uniqueName()); |
| 385 m_currentItem->setReferrer(SecurityPolicy::generateReferrer(m_documentLoader
->request().getReferrerPolicy(), m_currentItem->url(), m_documentLoader->request
().httpReferrer())); | 388 m_currentItem->setReferrer(SecurityPolicy::generateReferrer(m_documentLoader
->request().getReferrerPolicy(), m_currentItem->url(), m_documentLoader->request
().httpReferrer())); |
| 386 m_currentItem->setFormInfoFromRequest(m_documentLoader->request()); | 389 m_currentItem->setFormInfoFromRequest(m_documentLoader->request()); |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 718 | 721 |
| 719 // Generate start and stop notifications only when loader is completed so th
at we | 722 // Generate start and stop notifications only when loader is completed so th
at we |
| 720 // don't fire them for fragment redirection that happens in window.onload ha
ndler. | 723 // don't fire them for fragment redirection that happens in window.onload ha
ndler. |
| 721 // See https://bugs.webkit.org/show_bug.cgi?id=31838 | 724 // See https://bugs.webkit.org/show_bug.cgi?id=31838 |
| 722 if (m_frame->document()->loadEventFinished()) | 725 if (m_frame->document()->loadEventFinished()) |
| 723 client()->didStartLoading(NavigationWithinSameDocument); | 726 client()->didStartLoading(NavigationWithinSameDocument); |
| 724 | 727 |
| 725 HistoryCommitType historyCommitType = loadTypeToCommitType(type); | 728 HistoryCommitType historyCommitType = loadTypeToCommitType(type); |
| 726 if (!m_currentItem) | 729 if (!m_currentItem) |
| 727 historyCommitType = HistoryInertCommit; | 730 historyCommitType = HistoryInertCommit; |
| 731 if (m_frame->settings()->historyEntryRequiresUserGesture() && !UserGestureIn
dicator::processedUserGestureSinceLoad() && initiatingDocument) |
| 732 historyCommitType = HistoryInertCommit; |
| 728 | 733 |
| 729 setHistoryItemStateForCommit(type, historyCommitType, sameDocumentNavigation
Source == SameDocumentNavigationHistoryApi ? HistoryNavigationType::HistoryApi :
HistoryNavigationType::Fragment); | 734 setHistoryItemStateForCommit(type, historyCommitType, sameDocumentNavigation
Source == SameDocumentNavigationHistoryApi ? HistoryNavigationType::HistoryApi :
HistoryNavigationType::Fragment); |
| 730 if (sameDocumentNavigationSource == SameDocumentNavigationHistoryApi) { | 735 if (sameDocumentNavigationSource == SameDocumentNavigationHistoryApi) { |
| 731 m_currentItem->setStateObject(std::move(data)); | 736 m_currentItem->setStateObject(std::move(data)); |
| 732 m_currentItem->setScrollRestorationType(scrollRestorationType); | 737 m_currentItem->setScrollRestorationType(scrollRestorationType); |
| 733 } | 738 } |
| 734 client()->dispatchDidNavigateWithinPage(m_currentItem.get(), historyCommitTy
pe, !!initiatingDocument); | 739 client()->dispatchDidNavigateWithinPage(m_currentItem.get(), historyCommitTy
pe, !!initiatingDocument); |
| 735 client()->dispatchDidReceiveTitle(m_frame->document()->title()); | 740 client()->dispatchDidReceiveTitle(m_frame->document()->title()); |
| 736 if (m_frame->document()->loadEventFinished()) | 741 if (m_frame->document()->loadEventFinished()) |
| 737 client()->didStopLoading(); | 742 client()->didStopLoading(); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 831 return FrameLoadTypeReplaceCurrentItem; | 836 return FrameLoadTypeReplaceCurrentItem; |
| 832 | 837 |
| 833 if (request.resourceRequest().url() == m_documentLoader->urlForHistory()) { | 838 if (request.resourceRequest().url() == m_documentLoader->urlForHistory()) { |
| 834 if (!request.originDocument()) | 839 if (!request.originDocument()) |
| 835 return FrameLoadTypeReloadMainResource; | 840 return FrameLoadTypeReloadMainResource; |
| 836 return request.resourceRequest().httpMethod() == HTTPNames::POST ? Frame
LoadTypeStandard : FrameLoadTypeReplaceCurrentItem; | 841 return request.resourceRequest().httpMethod() == HTTPNames::POST ? Frame
LoadTypeStandard : FrameLoadTypeReplaceCurrentItem; |
| 837 } | 842 } |
| 838 | 843 |
| 839 if (request.substituteData().failingURL() == m_documentLoader->urlForHistory
() && m_loadType == FrameLoadTypeReload) | 844 if (request.substituteData().failingURL() == m_documentLoader->urlForHistory
() && m_loadType == FrameLoadTypeReload) |
| 840 return FrameLoadTypeReload; | 845 return FrameLoadTypeReload; |
| 846 |
| 847 if (m_frame->settings()->historyEntryRequiresUserGesture() && !UserGestureIn
dicator::processedUserGestureSinceLoad() && request.originDocument()) |
| 848 return FrameLoadTypeReplaceCurrentItem; |
| 849 |
| 841 return FrameLoadTypeStandard; | 850 return FrameLoadTypeStandard; |
| 842 } | 851 } |
| 843 | 852 |
| 844 bool FrameLoader::prepareRequestForThisFrame(FrameLoadRequest& request) | 853 bool FrameLoader::prepareRequestForThisFrame(FrameLoadRequest& request) |
| 845 { | 854 { |
| 846 // If no origin Document* was specified, skip remaining security checks and
assume the caller has fully initialized the FrameLoadRequest. | 855 // If no origin Document* was specified, skip remaining security checks and
assume the caller has fully initialized the FrameLoadRequest. |
| 847 if (!request.originDocument()) | 856 if (!request.originDocument()) |
| 848 return true; | 857 return true; |
| 849 | 858 |
| 850 KURL url = request.resourceRequest().url(); | 859 KURL url = request.resourceRequest().url(); |
| (...skipping 802 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1653 tracedValue->setString("documentLoaderURL", m_documentLoader ? m_documentLoa
der->url() : String()); | 1662 tracedValue->setString("documentLoaderURL", m_documentLoader ? m_documentLoa
der->url() : String()); |
| 1654 return tracedValue; | 1663 return tracedValue; |
| 1655 } | 1664 } |
| 1656 | 1665 |
| 1657 inline void FrameLoader::takeObjectSnapshot() const | 1666 inline void FrameLoader::takeObjectSnapshot() const |
| 1658 { | 1667 { |
| 1659 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID("loading", "FrameLoader", this, toTraced
Value()); | 1668 TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID("loading", "FrameLoader", this, toTraced
Value()); |
| 1660 } | 1669 } |
| 1661 | 1670 |
| 1662 } // namespace blink | 1671 } // namespace blink |
| OLD | NEW |