| 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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 FrameLoader::~FrameLoader() | 172 FrameLoader::~FrameLoader() |
| 173 { | 173 { |
| 174 // Verify that this FrameLoader has been detached. | 174 // Verify that this FrameLoader has been detached. |
| 175 ASSERT(!m_progressTracker); | 175 ASSERT(!m_progressTracker); |
| 176 } | 176 } |
| 177 | 177 |
| 178 DEFINE_TRACE(FrameLoader) | 178 DEFINE_TRACE(FrameLoader) |
| 179 { | 179 { |
| 180 visitor->trace(m_frame); | 180 visitor->trace(m_frame); |
| 181 visitor->trace(m_progressTracker); | 181 visitor->trace(m_progressTracker); |
| 182 visitor->trace(m_documentLoader); | |
| 183 visitor->trace(m_provisionalDocumentLoader); | |
| 184 visitor->trace(m_policyDocumentLoader); | |
| 185 visitor->trace(m_currentItem); | 182 visitor->trace(m_currentItem); |
| 186 visitor->trace(m_provisionalItem); | 183 visitor->trace(m_provisionalItem); |
| 187 visitor->trace(m_deferredHistoryLoad); | 184 visitor->trace(m_deferredHistoryLoad); |
| 188 } | 185 } |
| 189 | 186 |
| 190 void FrameLoader::init() | 187 void FrameLoader::init() |
| 191 { | 188 { |
| 192 ResourceRequest initialRequest(KURL(ParsedURLString, emptyString())); | 189 ResourceRequest initialRequest(KURL(ParsedURLString, emptyString())); |
| 193 initialRequest.setRequestContext(WebURLRequest::RequestContextInternal); | 190 initialRequest.setRequestContext(WebURLRequest::RequestContextInternal); |
| 194 initialRequest.setFrameType(m_frame->isMainFrame() ? WebURLRequest::FrameTyp
eTopLevel : WebURLRequest::FrameTypeNested); | 191 initialRequest.setFrameType(m_frame->isMainFrame() ? WebURLRequest::FrameTyp
eTopLevel : WebURLRequest::FrameTypeNested); |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 // This is only called by ScriptController::executeScriptIfJavaScriptURL | 308 // This is only called by ScriptController::executeScriptIfJavaScriptURL |
| 312 // and always contains the result of evaluating a javascript: url. | 309 // and always contains the result of evaluating a javascript: url. |
| 313 // This is the <iframe src="javascript:'html'"> case. | 310 // This is the <iframe src="javascript:'html'"> case. |
| 314 void FrameLoader::replaceDocumentWhileExecutingJavaScriptURL(const String& sourc
e, Document* ownerDocument) | 311 void FrameLoader::replaceDocumentWhileExecutingJavaScriptURL(const String& sourc
e, Document* ownerDocument) |
| 315 { | 312 { |
| 316 if (!m_frame->document()->loader()) | 313 if (!m_frame->document()->loader()) |
| 317 return; | 314 return; |
| 318 | 315 |
| 319 // DocumentLoader::replaceDocumentWhileExecutingJavaScriptURL can cause the
DocumentLoader to get deref'ed and possible destroyed, | 316 // DocumentLoader::replaceDocumentWhileExecutingJavaScriptURL can cause the
DocumentLoader to get deref'ed and possible destroyed, |
| 320 // so protect it with a RefPtr. | 317 // so protect it with a RefPtr. |
| 321 RefPtrWillBeRawPtr<DocumentLoader> documentLoader(m_frame->document()->loade
r()); | 318 RefPtr<DocumentLoader> documentLoader(m_frame->document()->loader()); |
| 322 | 319 |
| 323 UseCounter::count(*m_frame->document(), UseCounter::ReplaceDocumentViaJavaSc
riptURL); | 320 UseCounter::count(*m_frame->document(), UseCounter::ReplaceDocumentViaJavaSc
riptURL); |
| 324 | 321 |
| 325 // Prepare a DocumentInit before clearing the frame, because it may need to | 322 // Prepare a DocumentInit before clearing the frame, because it may need to |
| 326 // inherit an aliased security context. | 323 // inherit an aliased security context. |
| 327 DocumentInit init(m_frame->document()->url(), m_frame); | 324 DocumentInit init(m_frame->document()->url(), m_frame); |
| 328 init.withNewRegistrationContext(); | 325 init.withNewRegistrationContext(); |
| 329 | 326 |
| 330 stopAllLoaders(); | 327 stopAllLoaders(); |
| 331 m_frame->detachChildren(); | 328 m_frame->detachChildren(); |
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 640 if (sameDocumentNavigationSource == SameDocumentNavigationHistoryApi) { | 637 if (sameDocumentNavigationSource == SameDocumentNavigationHistoryApi) { |
| 641 m_currentItem->setStateObject(data); | 638 m_currentItem->setStateObject(data); |
| 642 m_currentItem->setScrollRestorationType(scrollRestorationType); | 639 m_currentItem->setScrollRestorationType(scrollRestorationType); |
| 643 } | 640 } |
| 644 client()->dispatchDidNavigateWithinPage(m_currentItem.get(), historyCommitTy
pe); | 641 client()->dispatchDidNavigateWithinPage(m_currentItem.get(), historyCommitTy
pe); |
| 645 client()->dispatchDidReceiveTitle(m_frame->document()->title()); | 642 client()->dispatchDidReceiveTitle(m_frame->document()->title()); |
| 646 if (m_frame->document()->loadEventFinished()) | 643 if (m_frame->document()->loadEventFinished()) |
| 647 client()->didStopLoading(); | 644 client()->didStopLoading(); |
| 648 } | 645 } |
| 649 | 646 |
| 650 void FrameLoader::detachDocumentLoader(RefPtrWillBeMember<DocumentLoader>& loade
r) | |
| 651 { | |
| 652 if (!loader) | |
| 653 return; | |
| 654 | |
| 655 loader->detachFromFrame(); | |
| 656 loader = nullptr; | |
| 657 } | |
| 658 | |
| 659 void FrameLoader::loadInSameDocument(const KURL& url, PassRefPtr<SerializedScrip
tValue> stateObject, FrameLoadType type, ClientRedirectPolicy clientRedirect) | 647 void FrameLoader::loadInSameDocument(const KURL& url, PassRefPtr<SerializedScrip
tValue> stateObject, FrameLoadType type, ClientRedirectPolicy clientRedirect) |
| 660 { | 648 { |
| 661 // If we have a state object, we cannot also be a new navigation. | 649 // If we have a state object, we cannot also be a new navigation. |
| 662 ASSERT(!stateObject || type == FrameLoadTypeBackForward); | 650 ASSERT(!stateObject || type == FrameLoadTypeBackForward); |
| 663 | 651 |
| 664 // If we have a provisional request for a different document, a fragment scr
oll should cancel it. | 652 // If we have a provisional request for a different document, a fragment scr
oll should cancel it. |
| 665 if (m_provisionalDocumentLoader) { | 653 if (m_provisionalDocumentLoader) { |
| 666 m_provisionalDocumentLoader->stopLoading(); | 654 m_provisionalDocumentLoader->stopLoading(); |
| 667 detachDocumentLoader(m_provisionalDocumentLoader); | 655 if (m_provisionalDocumentLoader) |
| 656 m_provisionalDocumentLoader->detachFromFrame(); |
| 657 m_provisionalDocumentLoader = nullptr; |
| 668 if (!m_frame->host()) | 658 if (!m_frame->host()) |
| 669 return; | 659 return; |
| 670 } | 660 } |
| 671 m_loadType = type; | 661 m_loadType = type; |
| 672 | 662 |
| 673 KURL oldURL = m_frame->document()->url(); | 663 KURL oldURL = m_frame->document()->url(); |
| 674 // If we were in the autoscroll/panScroll mode we want to stop it before fol
lowing the link to the anchor | 664 // If we were in the autoscroll/panScroll mode we want to stop it before fol
lowing the link to the anchor |
| 675 bool hashChange = equalIgnoringFragmentIdentifier(url, oldURL) && url.fragme
ntIdentifier() != oldURL.fragmentIdentifier(); | 665 bool hashChange = equalIgnoringFragmentIdentifier(url, oldURL) && url.fragme
ntIdentifier() != oldURL.fragmentIdentifier(); |
| 676 if (hashChange) { | 666 if (hashChange) { |
| 677 m_frame->eventHandler().stopAutoscroll(); | 667 m_frame->eventHandler().stopAutoscroll(); |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 970 if (m_frame->document()->parsing()) { | 960 if (m_frame->document()->parsing()) { |
| 971 finishedParsing(); | 961 finishedParsing(); |
| 972 m_frame->document()->setParsingState(Document::FinishedParsing); | 962 m_frame->document()->setParsingState(Document::FinishedParsing); |
| 973 } | 963 } |
| 974 m_frame->document()->setReadyState(Document::Complete); | 964 m_frame->document()->setReadyState(Document::Complete); |
| 975 if (m_provisionalDocumentLoader) | 965 if (m_provisionalDocumentLoader) |
| 976 m_provisionalDocumentLoader->stopLoading(); | 966 m_provisionalDocumentLoader->stopLoading(); |
| 977 if (m_documentLoader) | 967 if (m_documentLoader) |
| 978 m_documentLoader->stopLoading(); | 968 m_documentLoader->stopLoading(); |
| 979 | 969 |
| 980 detachDocumentLoader(m_provisionalDocumentLoader); | 970 if (m_provisionalDocumentLoader) |
| 981 detachDocumentLoader(m_policyDocumentLoader); | 971 m_provisionalDocumentLoader->detachFromFrame(); |
| 972 m_provisionalDocumentLoader = nullptr; |
| 982 | 973 |
| 983 m_checkTimer.stop(); | 974 m_checkTimer.stop(); |
| 984 m_frame->navigationScheduler().cancel(); | 975 m_frame->navigationScheduler().cancel(); |
| 985 | 976 |
| 986 m_inStopAllLoaders = false; | 977 m_inStopAllLoaders = false; |
| 987 | 978 |
| 988 // detachFromParent() can be called multiple times on same LocalFrame, which | 979 // detachFromParent() can be called multiple times on same LocalFrame, which |
| 989 // means we may no longer have a FrameLoaderClient to talk to. | 980 // means we may no longer have a FrameLoaderClient to talk to. |
| 990 if (client()) | 981 if (client()) |
| 991 client()->didStopAllLoaders(); | 982 client()->didStopAllLoaders(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1011 { | 1002 { |
| 1012 if (m_didAccessInitialDocumentTimer.isActive()) { | 1003 if (m_didAccessInitialDocumentTimer.isActive()) { |
| 1013 m_didAccessInitialDocumentTimer.stop(); | 1004 m_didAccessInitialDocumentTimer.stop(); |
| 1014 didAccessInitialDocumentTimerFired(0); | 1005 didAccessInitialDocumentTimerFired(0); |
| 1015 } | 1006 } |
| 1016 } | 1007 } |
| 1017 | 1008 |
| 1018 bool FrameLoader::prepareForCommit() | 1009 bool FrameLoader::prepareForCommit() |
| 1019 { | 1010 { |
| 1020 PluginScriptForbiddenScope forbidPluginDestructorScripting; | 1011 PluginScriptForbiddenScope forbidPluginDestructorScripting; |
| 1021 RefPtrWillBeRawPtr<DocumentLoader> pdl = m_provisionalDocumentLoader; | 1012 RefPtr<DocumentLoader> pdl = m_provisionalDocumentLoader; |
| 1022 | 1013 |
| 1023 if (m_documentLoader) { | 1014 if (m_documentLoader) { |
| 1024 client()->dispatchWillClose(); | 1015 client()->dispatchWillClose(); |
| 1025 dispatchUnloadEvent(); | 1016 dispatchUnloadEvent(); |
| 1026 } | 1017 } |
| 1027 m_frame->detachChildren(); | 1018 m_frame->detachChildren(); |
| 1028 // The previous calls to dispatchUnloadEvent() and detachChildren() can | 1019 // The previous calls to dispatchUnloadEvent() and detachChildren() can |
| 1029 // execute arbitrary script via things like unload events. If the executed | 1020 // execute arbitrary script via things like unload events. If the executed |
| 1030 // script intiates a new load or causes the current frame to be detached, | 1021 // script intiates a new load or causes the current frame to be detached, |
| 1031 // we need to abandon the current load. | 1022 // we need to abandon the current load. |
| 1032 if (pdl != m_provisionalDocumentLoader) | 1023 if (pdl != m_provisionalDocumentLoader) |
| 1033 return false; | 1024 return false; |
| 1034 if (m_documentLoader) { | 1025 if (m_documentLoader) { |
| 1035 FrameNavigationDisabler navigationDisabler(m_frame); | 1026 FrameNavigationDisabler navigationDisabler(m_frame); |
| 1036 detachDocumentLoader(m_documentLoader); | 1027 m_documentLoader->detachFromFrame(); |
| 1037 } | 1028 } |
| 1038 // detachFromFrame() will abort XHRs that haven't completed, which can | 1029 // detachFromFrame() will abort XHRs that haven't completed, which can |
| 1039 // trigger event listeners for 'abort'. These event listeners might detach | 1030 // trigger event listeners for 'abort'. These event listeners might detach |
| 1040 // the frame. | 1031 // the frame. |
| 1041 // TODO(dcheng): Investigate if this can be moved above the check that | 1032 // TODO(dcheng): Investigate if this can be moved above the check that |
| 1042 // m_provisionalDocumentLoader hasn't changed. | 1033 // m_provisionalDocumentLoader hasn't changed. |
| 1043 if (!m_frame->client()) | 1034 if (!m_frame->client()) |
| 1044 return false; | 1035 return false; |
| 1045 // No more events will be dispatched so detach the Document. | 1036 // No more events will be dispatched so detach the Document. |
| 1046 if (m_frame->document()) | 1037 if (m_frame->document()) |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1145 InspectorInstrumentation::applyUserAgentOverride(m_frame, &userAgent); | 1136 InspectorInstrumentation::applyUserAgentOverride(m_frame, &userAgent); |
| 1146 return userAgent; | 1137 return userAgent; |
| 1147 } | 1138 } |
| 1148 | 1139 |
| 1149 void FrameLoader::detach() | 1140 void FrameLoader::detach() |
| 1150 { | 1141 { |
| 1151 #if !ENABLE(OILPAN) | 1142 #if !ENABLE(OILPAN) |
| 1152 // The caller must protect a reference to m_frame. | 1143 // The caller must protect a reference to m_frame. |
| 1153 ASSERT(m_frame->refCount() > 1); | 1144 ASSERT(m_frame->refCount() > 1); |
| 1154 #endif | 1145 #endif |
| 1155 detachDocumentLoader(m_documentLoader); | 1146 if (m_documentLoader) |
| 1156 detachDocumentLoader(m_provisionalDocumentLoader); | 1147 m_documentLoader->detachFromFrame(); |
| 1157 detachDocumentLoader(m_policyDocumentLoader); | 1148 m_documentLoader = nullptr; |
| 1158 | 1149 |
| 1159 Frame* parent = m_frame->tree().parent(); | 1150 Frame* parent = m_frame->tree().parent(); |
| 1160 if (parent && parent->isLocalFrame()) | 1151 if (parent && parent->isLocalFrame()) |
| 1161 toLocalFrame(parent)->loader().scheduleCheckCompleted(); | 1152 toLocalFrame(parent)->loader().scheduleCheckCompleted(); |
| 1162 if (m_progressTracker) { | 1153 if (m_progressTracker) { |
| 1163 m_progressTracker->dispose(); | 1154 m_progressTracker->dispose(); |
| 1164 m_progressTracker.clear(); | 1155 m_progressTracker.clear(); |
| 1165 } | 1156 } |
| 1166 setOpener(0); | 1157 setOpener(0); |
| 1167 } | 1158 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1179 // FIXME: For now, fallback content doesn't work cross process. | 1170 // FIXME: For now, fallback content doesn't work cross process. |
| 1180 ASSERT(m_frame->owner()->isLocal()); | 1171 ASSERT(m_frame->owner()->isLocal()); |
| 1181 m_frame->deprecatedLocalOwner()->renderFallbackContent(); | 1172 m_frame->deprecatedLocalOwner()->renderFallbackContent(); |
| 1182 } | 1173 } |
| 1183 | 1174 |
| 1184 HistoryCommitType historyCommitType = loadTypeToCommitType(m_loadType); | 1175 HistoryCommitType historyCommitType = loadTypeToCommitType(m_loadType); |
| 1185 if (loader == m_provisionalDocumentLoader) { | 1176 if (loader == m_provisionalDocumentLoader) { |
| 1186 client()->dispatchDidFailProvisionalLoad(error, historyCommitType); | 1177 client()->dispatchDidFailProvisionalLoad(error, historyCommitType); |
| 1187 if (loader != m_provisionalDocumentLoader) | 1178 if (loader != m_provisionalDocumentLoader) |
| 1188 return; | 1179 return; |
| 1189 detachDocumentLoader(m_provisionalDocumentLoader); | 1180 m_provisionalDocumentLoader->detachFromFrame(); |
| 1181 m_provisionalDocumentLoader = nullptr; |
| 1190 m_progressTracker->progressCompleted(); | 1182 m_progressTracker->progressCompleted(); |
| 1191 } else { | 1183 } else { |
| 1192 ASSERT(loader == m_documentLoader); | 1184 ASSERT(loader == m_documentLoader); |
| 1193 if (m_frame->document()->parser()) | 1185 if (m_frame->document()->parser()) |
| 1194 m_frame->document()->parser()->stopParsing(); | 1186 m_frame->document()->parser()->stopParsing(); |
| 1195 if (!m_provisionalDocumentLoader && m_frame->isLoading()) { | 1187 if (!m_provisionalDocumentLoader && m_frame->isLoading()) { |
| 1196 client()->dispatchDidFailLoad(error, historyCommitType); | 1188 client()->dispatchDidFailLoad(error, historyCommitType); |
| 1197 m_progressTracker->progressCompleted(); | 1189 m_progressTracker->progressCompleted(); |
| 1198 } | 1190 } |
| 1199 } | 1191 } |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1284 ResourceRequest& request = frameLoadRequest.resourceRequest(); | 1276 ResourceRequest& request = frameLoadRequest.resourceRequest(); |
| 1285 | 1277 |
| 1286 m_policyDocumentLoader = client()->createDocumentLoader(m_frame, request, fr
ameLoadRequest.substituteData().isValid() ? frameLoadRequest.substituteData() :
defaultSubstituteDataForURL(request.url())); | 1278 m_policyDocumentLoader = client()->createDocumentLoader(m_frame, request, fr
ameLoadRequest.substituteData().isValid() ? frameLoadRequest.substituteData() :
defaultSubstituteDataForURL(request.url())); |
| 1287 m_policyDocumentLoader->setNavigationType(navigationType); | 1279 m_policyDocumentLoader->setNavigationType(navigationType); |
| 1288 m_policyDocumentLoader->setReplacesCurrentHistoryItem(type == FrameLoadTypeR
edirectWithLockedBackForwardList); | 1280 m_policyDocumentLoader->setReplacesCurrentHistoryItem(type == FrameLoadTypeR
edirectWithLockedBackForwardList); |
| 1289 m_policyDocumentLoader->setIsClientRedirect(frameLoadRequest.clientRedirect(
) == ClientRedirect); | 1281 m_policyDocumentLoader->setIsClientRedirect(frameLoadRequest.clientRedirect(
) == ClientRedirect); |
| 1290 | 1282 |
| 1291 // stopAllLoaders can detach the LocalFrame, so protect it. | 1283 // stopAllLoaders can detach the LocalFrame, so protect it. |
| 1292 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get()); | 1284 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get()); |
| 1293 if ((!m_policyDocumentLoader->shouldContinueForNavigationPolicy(request, fra
meLoadRequest.shouldCheckMainWorldContentSecurityPolicy(), navigationPolicy) ||
!shouldClose()) && m_policyDocumentLoader) { | 1285 if ((!m_policyDocumentLoader->shouldContinueForNavigationPolicy(request, fra
meLoadRequest.shouldCheckMainWorldContentSecurityPolicy(), navigationPolicy) ||
!shouldClose()) && m_policyDocumentLoader) { |
| 1294 detachDocumentLoader(m_policyDocumentLoader); | 1286 m_policyDocumentLoader->detachFromFrame(); |
| 1287 m_policyDocumentLoader = nullptr; |
| 1295 return; | 1288 return; |
| 1296 } | 1289 } |
| 1297 | 1290 |
| 1298 // FIXME: This is an odd set of steps to shut down parsing and it's unclear
why it works. | 1291 // FIXME: This is an odd set of steps to shut down parsing and it's unclear
why it works. |
| 1299 // It's also unclear why other steps don't work. | 1292 // It's also unclear why other steps don't work. |
| 1300 if (m_frame->document()->parsing()) { | 1293 if (m_frame->document()->parsing()) { |
| 1301 finishedParsing(); | 1294 finishedParsing(); |
| 1302 m_frame->document()->setParsingState(Document::FinishedParsing); | 1295 m_frame->document()->setParsingState(Document::FinishedParsing); |
| 1303 } | 1296 } |
| 1304 m_frame->document()->setReadyState(Document::Complete); | 1297 m_frame->document()->setReadyState(Document::Complete); |
| 1305 | 1298 |
| 1306 if (m_provisionalDocumentLoader) { | 1299 if (m_provisionalDocumentLoader) { |
| 1307 m_provisionalDocumentLoader->stopLoading(); | 1300 m_provisionalDocumentLoader->stopLoading(); |
| 1308 detachDocumentLoader(m_provisionalDocumentLoader); | 1301 if (m_provisionalDocumentLoader) |
| 1302 m_provisionalDocumentLoader->detachFromFrame(); |
| 1303 m_provisionalDocumentLoader = nullptr; |
| 1309 } | 1304 } |
| 1310 m_checkTimer.stop(); | 1305 m_checkTimer.stop(); |
| 1311 | 1306 |
| 1312 // <rdar://problem/6250856> - In certain circumstances on pages with multipl
e frames, stopAllLoaders() | 1307 // <rdar://problem/6250856> - In certain circumstances on pages with multipl
e frames, stopAllLoaders() |
| 1313 // might detach the current FrameLoader, in which case we should bail on thi
s newly defunct load. | 1308 // might detach the current FrameLoader, in which case we should bail on thi
s newly defunct load. |
| 1314 if (!m_frame->page() || !m_policyDocumentLoader) | 1309 if (!m_frame->page() || !m_policyDocumentLoader) |
| 1315 return; | 1310 return; |
| 1316 | 1311 |
| 1317 InspectorInstrumentation::didStartProvisionalLoad(m_frame); | 1312 InspectorInstrumentation::didStartProvisionalLoad(m_frame); |
| 1318 | 1313 |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1487 // FIXME: We need a way to propagate insecure requests policy flags to | 1482 // FIXME: We need a way to propagate insecure requests policy flags to |
| 1488 // out-of-process frames. For now, we'll always use default behavior. | 1483 // out-of-process frames. For now, we'll always use default behavior. |
| 1489 if (!parentFrame->isLocalFrame()) | 1484 if (!parentFrame->isLocalFrame()) |
| 1490 return nullptr; | 1485 return nullptr; |
| 1491 | 1486 |
| 1492 ASSERT(toLocalFrame(parentFrame)->document()); | 1487 ASSERT(toLocalFrame(parentFrame)->document()); |
| 1493 return toLocalFrame(parentFrame)->document()->insecureNavigationsToUpgrade()
; | 1488 return toLocalFrame(parentFrame)->document()->insecureNavigationsToUpgrade()
; |
| 1494 } | 1489 } |
| 1495 | 1490 |
| 1496 } // namespace blink | 1491 } // namespace blink |
| OLD | NEW |