| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 949 Page* page = m_frame->page(); | 949 Page* page = m_frame->page(); |
| 950 if (!page) | 950 if (!page) |
| 951 return; | 951 return; |
| 952 | 952 |
| 953 if (context) { | 953 if (context) { |
| 954 ASSERT(isMainThread()); | 954 ASSERT(isMainThread()); |
| 955 Document* activeDocument = toDocument(context); | 955 Document* activeDocument = toDocument(context); |
| 956 if (!activeDocument) | 956 if (!activeDocument) |
| 957 return; | 957 return; |
| 958 | 958 |
| 959 if (!activeDocument->canNavigate(m_frame)) | 959 if (!activeDocument->canNavigate(*m_frame)) |
| 960 return; | 960 return; |
| 961 } | 961 } |
| 962 | 962 |
| 963 Settings* settings = m_frame->settings(); | 963 Settings* settings = m_frame->settings(); |
| 964 bool allowScriptsToCloseWindows = settings && settings->allowScriptsToCloseW
indows(); | 964 bool allowScriptsToCloseWindows = settings && settings->allowScriptsToCloseW
indows(); |
| 965 | 965 |
| 966 if (!(page->openedByDOM() || page->backForward().backForwardListCount() <= 1
|| allowScriptsToCloseWindows)) { | 966 if (!(page->openedByDOM() || page->backForward().backForwardListCount() <= 1
|| allowScriptsToCloseWindows)) { |
| 967 frameConsole()->addMessage(JSMessageSource, WarningMessageLevel, "Script
s may close only the windows that were opened by it."); | 967 frameConsole()->addMessage(JSMessageSource, WarningMessageLevel, "Script
s may close only the windows that were opened by it."); |
| 968 return; | 968 return; |
| 969 } | 969 } |
| (...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1651 | 1651 |
| 1652 void DOMWindow::setLocation(const String& urlString, DOMWindow* callingWindow, D
OMWindow* enteredWindow, SetLocationLocking locking) | 1652 void DOMWindow::setLocation(const String& urlString, DOMWindow* callingWindow, D
OMWindow* enteredWindow, SetLocationLocking locking) |
| 1653 { | 1653 { |
| 1654 if (!isCurrentlyDisplayedInFrame()) | 1654 if (!isCurrentlyDisplayedInFrame()) |
| 1655 return; | 1655 return; |
| 1656 | 1656 |
| 1657 Document* activeDocument = callingWindow->document(); | 1657 Document* activeDocument = callingWindow->document(); |
| 1658 if (!activeDocument) | 1658 if (!activeDocument) |
| 1659 return; | 1659 return; |
| 1660 | 1660 |
| 1661 if (!activeDocument->canNavigate(m_frame)) | 1661 ASSERT(m_frame); |
| 1662 if (!activeDocument->canNavigate(*m_frame)) |
| 1662 return; | 1663 return; |
| 1663 | 1664 |
| 1664 LocalFrame* firstFrame = enteredWindow->frame(); | 1665 LocalFrame* firstFrame = enteredWindow->frame(); |
| 1665 if (!firstFrame) | 1666 if (!firstFrame) |
| 1666 return; | 1667 return; |
| 1667 | 1668 |
| 1668 KURL completedURL = firstFrame->document()->completeURL(urlString); | 1669 KURL completedURL = firstFrame->document()->completeURL(urlString); |
| 1669 if (completedURL.isNull()) | 1670 if (completedURL.isNull()) |
| 1670 return; | 1671 return; |
| 1671 | 1672 |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1803 LocalFrame* targetFrame = 0; | 1804 LocalFrame* targetFrame = 0; |
| 1804 if (frameName == "_top") | 1805 if (frameName == "_top") |
| 1805 targetFrame = m_frame->tree().top(); | 1806 targetFrame = m_frame->tree().top(); |
| 1806 else if (frameName == "_parent") { | 1807 else if (frameName == "_parent") { |
| 1807 if (LocalFrame* parent = m_frame->tree().parent()) | 1808 if (LocalFrame* parent = m_frame->tree().parent()) |
| 1808 targetFrame = parent; | 1809 targetFrame = parent; |
| 1809 else | 1810 else |
| 1810 targetFrame = m_frame; | 1811 targetFrame = m_frame; |
| 1811 } | 1812 } |
| 1812 if (targetFrame) { | 1813 if (targetFrame) { |
| 1813 if (!activeDocument->canNavigate(targetFrame)) | 1814 if (!activeDocument->canNavigate(*targetFrame)) |
| 1814 return nullptr; | 1815 return nullptr; |
| 1815 | 1816 |
| 1816 KURL completedURL = firstFrame->document()->completeURL(urlString); | 1817 KURL completedURL = firstFrame->document()->completeURL(urlString); |
| 1817 | 1818 |
| 1818 if (targetFrame->domWindow()->isInsecureScriptAccess(*callingWindow, com
pletedURL)) | 1819 if (targetFrame->domWindow()->isInsecureScriptAccess(*callingWindow, com
pletedURL)) |
| 1819 return targetFrame->domWindow(); | 1820 return targetFrame->domWindow(); |
| 1820 | 1821 |
| 1821 if (urlString.isEmpty()) | 1822 if (urlString.isEmpty()) |
| 1822 return targetFrame->domWindow(); | 1823 return targetFrame->domWindow(); |
| 1823 | 1824 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1903 visitor->trace(m_sessionStorage); | 1904 visitor->trace(m_sessionStorage); |
| 1904 visitor->trace(m_localStorage); | 1905 visitor->trace(m_localStorage); |
| 1905 visitor->trace(m_applicationCache); | 1906 visitor->trace(m_applicationCache); |
| 1906 visitor->trace(m_performance); | 1907 visitor->trace(m_performance); |
| 1907 visitor->trace(m_css); | 1908 visitor->trace(m_css); |
| 1908 WillBeHeapSupplementable<DOMWindow>::trace(visitor); | 1909 WillBeHeapSupplementable<DOMWindow>::trace(visitor); |
| 1909 EventTargetWithInlineData::trace(visitor); | 1910 EventTargetWithInlineData::trace(visitor); |
| 1910 } | 1911 } |
| 1911 | 1912 |
| 1912 } // namespace WebCore | 1913 } // namespace WebCore |
| OLD | NEW |