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 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
739 | 739 |
740 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get()); | 740 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get()); |
741 | 741 |
742 if (m_inStopAllLoaders) | 742 if (m_inStopAllLoaders) |
743 return; | 743 return; |
744 | 744 |
745 FrameLoadRequest request(passedRequest); | 745 FrameLoadRequest request(passedRequest); |
746 if (!prepareRequestForThisFrame(request)) | 746 if (!prepareRequestForThisFrame(request)) |
747 return; | 747 return; |
748 | 748 |
749 RefPtrWillBeRawPtr<LocalFrame> targetFrame = request.formState() ? 0 : findF rameForNavigation(AtomicString(request.frameName()), request.formState() ? reque st.formState()->sourceDocument() : m_frame->document()); | 749 RefPtrWillBeRawPtr<LocalFrame> targetFrame = toLocalFrame(request.formState( ) ? 0 : m_frame->findFrameForNavigation(AtomicString(request.frameName()), m_fra me)); |
dcheng
2014/12/13 01:55:49
Since this is changing anyway, let's use nullptr i
Nate Chapin
2014/12/20 00:09:14
Done.
| |
750 if (targetFrame && targetFrame.get() != m_frame) { | 750 if (targetFrame && targetFrame.get() != m_frame) { |
751 request.setFrameName("_self"); | 751 request.setFrameName("_self"); |
752 targetFrame->loader().load(request); | 752 targetFrame->loader().load(request); |
753 if (Page* page = targetFrame->page()) | 753 if (Page* page = targetFrame->page()) |
754 page->chrome().focus(); | 754 page->chrome().focus(); |
755 return; | 755 return; |
756 } | 756 } |
757 | 757 |
758 setReferrerForFrameRequest(request.resourceRequest(), request.shouldSendRefe rrer(), request.originDocument()); | 758 setReferrerForFrameRequest(request.resourceRequest(), request.shouldSendRefe rrer(), request.originDocument()); |
759 | 759 |
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1393 bool FrameLoader::shouldTreatURLAsSrcdocDocument(const KURL& url) const | 1393 bool FrameLoader::shouldTreatURLAsSrcdocDocument(const KURL& url) const |
1394 { | 1394 { |
1395 if (!equalIgnoringCase(url.string(), "about:srcdoc")) | 1395 if (!equalIgnoringCase(url.string(), "about:srcdoc")) |
1396 return false; | 1396 return false; |
1397 HTMLFrameOwnerElement* ownerElement = m_frame->deprecatedLocalOwner(); | 1397 HTMLFrameOwnerElement* ownerElement = m_frame->deprecatedLocalOwner(); |
1398 if (!isHTMLIFrameElement(ownerElement)) | 1398 if (!isHTMLIFrameElement(ownerElement)) |
1399 return false; | 1399 return false; |
1400 return ownerElement->fastHasAttribute(srcdocAttr); | 1400 return ownerElement->fastHasAttribute(srcdocAttr); |
1401 } | 1401 } |
1402 | 1402 |
1403 LocalFrame* FrameLoader::findFrameForNavigation(const AtomicString& name, Docume nt* activeDocument) | |
1404 { | |
1405 ASSERT(activeDocument); | |
1406 Frame* frame = m_frame->tree().find(name); | |
1407 if (!frame || !frame->isLocalFrame() || !activeDocument->canNavigate(toLocal Frame(*frame))) | |
1408 return 0; | |
1409 return toLocalFrame(frame); | |
1410 } | |
1411 | |
1412 void FrameLoader::loadHistoryItem(HistoryItem* item, FrameLoadType frameLoadType , HistoryLoadType historyLoadType, ResourceRequestCachePolicy cachePolicy) | 1403 void FrameLoader::loadHistoryItem(HistoryItem* item, FrameLoadType frameLoadType , HistoryLoadType historyLoadType, ResourceRequestCachePolicy cachePolicy) |
1413 { | 1404 { |
1414 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get()); | 1405 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get()); |
1415 if (m_frame->page()->defersLoading()) { | 1406 if (m_frame->page()->defersLoading()) { |
1416 m_deferredHistoryLoad = DeferredHistoryLoad(item, historyLoadType, cache Policy); | 1407 m_deferredHistoryLoad = DeferredHistoryLoad(item, historyLoadType, cache Policy); |
1417 return; | 1408 return; |
1418 } | 1409 } |
1419 | 1410 |
1420 m_provisionalItem = item; | 1411 m_provisionalItem = item; |
1421 if (historyLoadType == HistorySameDocumentLoad) { | 1412 if (historyLoadType == HistorySameDocumentLoad) { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1454 if (!m_frame->script().canExecuteScripts(NotAboutToExecuteScript)) | 1445 if (!m_frame->script().canExecuteScripts(NotAboutToExecuteScript)) |
1455 return; | 1446 return; |
1456 | 1447 |
1457 client()->dispatchDidClearWindowObjectInMainWorld(); | 1448 client()->dispatchDidClearWindowObjectInMainWorld(); |
1458 } | 1449 } |
1459 | 1450 |
1460 SandboxFlags FrameLoader::effectiveSandboxFlags() const | 1451 SandboxFlags FrameLoader::effectiveSandboxFlags() const |
1461 { | 1452 { |
1462 SandboxFlags flags = m_forcedSandboxFlags; | 1453 SandboxFlags flags = m_forcedSandboxFlags; |
1463 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. | 1454 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. |
1464 Frame* parentFrame = m_frame->tree().parent(); | |
1465 if (parentFrame && parentFrame->isLocalFrame()) | |
1466 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags(); | |
1467 if (FrameOwner* frameOwner = m_frame->owner()) | 1455 if (FrameOwner* frameOwner = m_frame->owner()) |
1468 flags |= frameOwner->sandboxFlags(); | 1456 flags |= frameOwner->sandboxFlags(); |
1469 return flags; | 1457 return flags; |
1470 } | 1458 } |
1471 | 1459 |
1472 } // namespace blink | 1460 } // namespace blink |
OLD | NEW |