| 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 995 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1006 int DOMWindow::innerHeight() const | 1006 int DOMWindow::innerHeight() const |
| 1007 { | 1007 { |
| 1008 if (!m_frame) | 1008 if (!m_frame) |
| 1009 return 0; | 1009 return 0; |
| 1010 | 1010 |
| 1011 FrameView* view = m_frame->view(); | 1011 FrameView* view = m_frame->view(); |
| 1012 if (!view) | 1012 if (!view) |
| 1013 return 0; | 1013 return 0; |
| 1014 | 1014 |
| 1015 // FIXME: This is potentially too much work. We really only need to know the
dimensions of the parent frame's renderer. | 1015 // FIXME: This is potentially too much work. We really only need to know the
dimensions of the parent frame's renderer. |
| 1016 if (Frame* parent = m_frame->tree()->parent()) | 1016 if (Frame* parent = m_frame->tree().parent()) |
| 1017 parent->document()->updateLayoutIgnorePendingStylesheets(); | 1017 parent->document()->updateLayoutIgnorePendingStylesheets(); |
| 1018 | 1018 |
| 1019 return view->mapFromLayoutToCSSUnits(static_cast<int>(view->visibleContentRe
ct(ScrollableArea::IncludeScrollbars).height())); | 1019 return view->mapFromLayoutToCSSUnits(static_cast<int>(view->visibleContentRe
ct(ScrollableArea::IncludeScrollbars).height())); |
| 1020 } | 1020 } |
| 1021 | 1021 |
| 1022 int DOMWindow::innerWidth() const | 1022 int DOMWindow::innerWidth() const |
| 1023 { | 1023 { |
| 1024 if (!m_frame) | 1024 if (!m_frame) |
| 1025 return 0; | 1025 return 0; |
| 1026 | 1026 |
| 1027 FrameView* view = m_frame->view(); | 1027 FrameView* view = m_frame->view(); |
| 1028 if (!view) | 1028 if (!view) |
| 1029 return 0; | 1029 return 0; |
| 1030 | 1030 |
| 1031 // FIXME: This is potentially too much work. We really only need to know the
dimensions of the parent frame's renderer. | 1031 // FIXME: This is potentially too much work. We really only need to know the
dimensions of the parent frame's renderer. |
| 1032 if (Frame* parent = m_frame->tree()->parent()) | 1032 if (Frame* parent = m_frame->tree().parent()) |
| 1033 parent->document()->updateLayoutIgnorePendingStylesheets(); | 1033 parent->document()->updateLayoutIgnorePendingStylesheets(); |
| 1034 | 1034 |
| 1035 return view->mapFromLayoutToCSSUnits(static_cast<int>(view->visibleContentRe
ct(ScrollableArea::IncludeScrollbars).width())); | 1035 return view->mapFromLayoutToCSSUnits(static_cast<int>(view->visibleContentRe
ct(ScrollableArea::IncludeScrollbars).width())); |
| 1036 } | 1036 } |
| 1037 | 1037 |
| 1038 int DOMWindow::screenX() const | 1038 int DOMWindow::screenX() const |
| 1039 { | 1039 { |
| 1040 if (!m_frame) | 1040 if (!m_frame) |
| 1041 return 0; | 1041 return 0; |
| 1042 | 1042 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1094 bool DOMWindow::closed() const | 1094 bool DOMWindow::closed() const |
| 1095 { | 1095 { |
| 1096 return !m_frame; | 1096 return !m_frame; |
| 1097 } | 1097 } |
| 1098 | 1098 |
| 1099 unsigned DOMWindow::length() const | 1099 unsigned DOMWindow::length() const |
| 1100 { | 1100 { |
| 1101 if (!isCurrentlyDisplayedInFrame()) | 1101 if (!isCurrentlyDisplayedInFrame()) |
| 1102 return 0; | 1102 return 0; |
| 1103 | 1103 |
| 1104 return m_frame->tree()->scopedChildCount(); | 1104 return m_frame->tree().scopedChildCount(); |
| 1105 } | 1105 } |
| 1106 | 1106 |
| 1107 String DOMWindow::name() const | 1107 String DOMWindow::name() const |
| 1108 { | 1108 { |
| 1109 if (!m_frame) | 1109 if (!m_frame) |
| 1110 return String(); | 1110 return String(); |
| 1111 | 1111 |
| 1112 return m_frame->tree()->name(); | 1112 return m_frame->tree().name(); |
| 1113 } | 1113 } |
| 1114 | 1114 |
| 1115 void DOMWindow::setName(const String& string) | 1115 void DOMWindow::setName(const String& string) |
| 1116 { | 1116 { |
| 1117 if (!m_frame) | 1117 if (!m_frame) |
| 1118 return; | 1118 return; |
| 1119 | 1119 |
| 1120 m_frame->tree()->setName(string); | 1120 m_frame->tree().setName(string); |
| 1121 m_frame->loader()->client()->didChangeName(string); | 1121 m_frame->loader()->client()->didChangeName(string); |
| 1122 } | 1122 } |
| 1123 | 1123 |
| 1124 void DOMWindow::setStatus(const String& string) | 1124 void DOMWindow::setStatus(const String& string) |
| 1125 { | 1125 { |
| 1126 m_status = string; | 1126 m_status = string; |
| 1127 | 1127 |
| 1128 if (!m_frame) | 1128 if (!m_frame) |
| 1129 return; | 1129 return; |
| 1130 | 1130 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1169 return 0; | 1169 return 0; |
| 1170 | 1170 |
| 1171 return opener->domWindow(); | 1171 return opener->domWindow(); |
| 1172 } | 1172 } |
| 1173 | 1173 |
| 1174 DOMWindow* DOMWindow::parent() const | 1174 DOMWindow* DOMWindow::parent() const |
| 1175 { | 1175 { |
| 1176 if (!m_frame) | 1176 if (!m_frame) |
| 1177 return 0; | 1177 return 0; |
| 1178 | 1178 |
| 1179 Frame* parent = m_frame->tree()->parent(); | 1179 Frame* parent = m_frame->tree().parent(); |
| 1180 if (parent) | 1180 if (parent) |
| 1181 return parent->domWindow(); | 1181 return parent->domWindow(); |
| 1182 | 1182 |
| 1183 return m_frame->domWindow(); | 1183 return m_frame->domWindow(); |
| 1184 } | 1184 } |
| 1185 | 1185 |
| 1186 DOMWindow* DOMWindow::top() const | 1186 DOMWindow* DOMWindow::top() const |
| 1187 { | 1187 { |
| 1188 if (!m_frame) | 1188 if (!m_frame) |
| 1189 return 0; | 1189 return 0; |
| 1190 | 1190 |
| 1191 Page* page = m_frame->page(); | 1191 Page* page = m_frame->page(); |
| 1192 if (!page) | 1192 if (!page) |
| 1193 return 0; | 1193 return 0; |
| 1194 | 1194 |
| 1195 return m_frame->tree()->top()->domWindow(); | 1195 return m_frame->tree().top()->domWindow(); |
| 1196 } | 1196 } |
| 1197 | 1197 |
| 1198 Document* DOMWindow::document() const | 1198 Document* DOMWindow::document() const |
| 1199 { | 1199 { |
| 1200 return m_document.get(); | 1200 return m_document.get(); |
| 1201 } | 1201 } |
| 1202 | 1202 |
| 1203 PassRefPtr<StyleMedia> DOMWindow::styleMedia() const | 1203 PassRefPtr<StyleMedia> DOMWindow::styleMedia() const |
| 1204 { | 1204 { |
| 1205 if (!isCurrentlyDisplayedInFrame()) | 1205 if (!isCurrentlyDisplayedInFrame()) |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1676 Document* activeDocument = activeWindow->document(); | 1676 Document* activeDocument = activeWindow->document(); |
| 1677 if (!activeDocument) | 1677 if (!activeDocument) |
| 1678 return 0; | 1678 return 0; |
| 1679 Frame* firstFrame = firstWindow->frame(); | 1679 Frame* firstFrame = firstWindow->frame(); |
| 1680 if (!firstFrame) | 1680 if (!firstFrame) |
| 1681 return 0; | 1681 return 0; |
| 1682 | 1682 |
| 1683 if (!firstWindow->allowPopUp()) { | 1683 if (!firstWindow->allowPopUp()) { |
| 1684 // Because FrameTree::find() returns true for empty strings, we must che
ck for empty frame names. | 1684 // Because FrameTree::find() returns true for empty strings, we must che
ck for empty frame names. |
| 1685 // Otherwise, illegitimate window.open() calls with no name will pass ri
ght through the popup blocker. | 1685 // Otherwise, illegitimate window.open() calls with no name will pass ri
ght through the popup blocker. |
| 1686 if (frameName.isEmpty() || !m_frame->tree()->find(frameName)) | 1686 if (frameName.isEmpty() || !m_frame->tree().find(frameName)) |
| 1687 return 0; | 1687 return 0; |
| 1688 } | 1688 } |
| 1689 | 1689 |
| 1690 // Get the target frame for the special cases of _top and _parent. | 1690 // Get the target frame for the special cases of _top and _parent. |
| 1691 // In those cases, we schedule a location change right now and return early. | 1691 // In those cases, we schedule a location change right now and return early. |
| 1692 Frame* targetFrame = 0; | 1692 Frame* targetFrame = 0; |
| 1693 if (frameName == "_top") | 1693 if (frameName == "_top") |
| 1694 targetFrame = m_frame->tree()->top(); | 1694 targetFrame = m_frame->tree().top(); |
| 1695 else if (frameName == "_parent") { | 1695 else if (frameName == "_parent") { |
| 1696 if (Frame* parent = m_frame->tree()->parent()) | 1696 if (Frame* parent = m_frame->tree().parent()) |
| 1697 targetFrame = parent; | 1697 targetFrame = parent; |
| 1698 else | 1698 else |
| 1699 targetFrame = m_frame; | 1699 targetFrame = m_frame; |
| 1700 } | 1700 } |
| 1701 if (targetFrame) { | 1701 if (targetFrame) { |
| 1702 if (!activeDocument->canNavigate(targetFrame)) | 1702 if (!activeDocument->canNavigate(targetFrame)) |
| 1703 return 0; | 1703 return 0; |
| 1704 | 1704 |
| 1705 KURL completedURL = firstFrame->document()->completeURL(urlString); | 1705 KURL completedURL = firstFrame->document()->completeURL(urlString); |
| 1706 | 1706 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1748 UserGestureIndicatorDisabler disabler; | 1748 UserGestureIndicatorDisabler disabler; |
| 1749 dialogFrame->page()->chrome().runModal(); | 1749 dialogFrame->page()->chrome().runModal(); |
| 1750 } | 1750 } |
| 1751 | 1751 |
| 1752 DOMWindow* DOMWindow::anonymousIndexedGetter(uint32_t index) | 1752 DOMWindow* DOMWindow::anonymousIndexedGetter(uint32_t index) |
| 1753 { | 1753 { |
| 1754 Frame* frame = this->frame(); | 1754 Frame* frame = this->frame(); |
| 1755 if (!frame) | 1755 if (!frame) |
| 1756 return 0; | 1756 return 0; |
| 1757 | 1757 |
| 1758 Frame* child = frame->tree()->scopedChild(index); | 1758 Frame* child = frame->tree().scopedChild(index); |
| 1759 if (child) | 1759 if (child) |
| 1760 return child->domWindow(); | 1760 return child->domWindow(); |
| 1761 | 1761 |
| 1762 return 0; | 1762 return 0; |
| 1763 } | 1763 } |
| 1764 | 1764 |
| 1765 DOMWindowLifecycleNotifier* DOMWindow::lifecycleNotifier() | 1765 DOMWindowLifecycleNotifier* DOMWindow::lifecycleNotifier() |
| 1766 { | 1766 { |
| 1767 return static_cast<DOMWindowLifecycleNotifier*>(LifecycleContext::lifecycleN
otifier()); | 1767 return static_cast<DOMWindowLifecycleNotifier*>(LifecycleContext::lifecycleN
otifier()); |
| 1768 } | 1768 } |
| 1769 | 1769 |
| 1770 PassOwnPtr<LifecycleNotifier> DOMWindow::createLifecycleNotifier() | 1770 PassOwnPtr<LifecycleNotifier> DOMWindow::createLifecycleNotifier() |
| 1771 { | 1771 { |
| 1772 return DOMWindowLifecycleNotifier::create(this); | 1772 return DOMWindowLifecycleNotifier::create(this); |
| 1773 } | 1773 } |
| 1774 | 1774 |
| 1775 | 1775 |
| 1776 } // namespace WebCore | 1776 } // namespace WebCore |
| OLD | NEW |