Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 21 #include "config.h" | 21 #include "config.h" |
| 22 #include "core/rendering/RenderView.h" | 22 #include "core/rendering/RenderView.h" |
| 23 | 23 |
| 24 #include "core/dom/Document.h" | 24 #include "core/dom/Document.h" |
| 25 #include "core/dom/Element.h" | 25 #include "core/dom/Element.h" |
| 26 #include "core/html/HTMLFrameOwnerElement.h" | 26 #include "core/html/HTMLFrameOwnerElement.h" |
| 27 #include "core/html/HTMLIFrameElement.h" | 27 #include "core/html/HTMLIFrameElement.h" |
| 28 #include "core/page/Frame.h" | 28 #include "core/page/Frame.h" |
| 29 #include "core/page/FrameView.h" | 29 #include "core/page/FrameView.h" |
| 30 #include "core/page/Page.h" | 30 #include "core/page/Page.h" |
| 31 #include "core/page/Settings.h" | |
| 31 #include "core/platform/graphics/filters/custom/CustomFilterGlobalContext.h" | 32 #include "core/platform/graphics/filters/custom/CustomFilterGlobalContext.h" |
| 32 #include "core/platform/graphics/FloatQuad.h" | 33 #include "core/platform/graphics/FloatQuad.h" |
| 33 #include "core/platform/graphics/GraphicsContext.h" | 34 #include "core/platform/graphics/GraphicsContext.h" |
| 34 #include "core/platform/graphics/transforms/TransformState.h" | 35 #include "core/platform/graphics/transforms/TransformState.h" |
| 35 #include "core/rendering/ColumnInfo.h" | 36 #include "core/rendering/ColumnInfo.h" |
| 36 #include "core/rendering/FlowThreadController.h" | 37 #include "core/rendering/FlowThreadController.h" |
| 37 #include "core/rendering/HitTestResult.h" | 38 #include "core/rendering/HitTestResult.h" |
| 38 #include "core/rendering/RenderGeometryMap.h" | 39 #include "core/rendering/RenderGeometryMap.h" |
| 39 #include "core/rendering/RenderLayer.h" | 40 #include "core/rendering/RenderLayer.h" |
| 40 #include "core/rendering/RenderLayerBacking.h" | 41 #include "core/rendering/RenderLayerBacking.h" |
| (...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 943 bool RenderView::rootBackgroundIsEntirelyFixed() const | 944 bool RenderView::rootBackgroundIsEntirelyFixed() const |
| 944 { | 945 { |
| 945 RenderObject* rootObject = document()->documentElement() ? document()->docum entElement()->renderer() : 0; | 946 RenderObject* rootObject = document()->documentElement() ? document()->docum entElement()->renderer() : 0; |
| 946 if (!rootObject) | 947 if (!rootObject) |
| 947 return false; | 948 return false; |
| 948 | 949 |
| 949 RenderObject* rootRenderer = rootObject->rendererForRootBackground(); | 950 RenderObject* rootRenderer = rootObject->rendererForRootBackground(); |
| 950 return rootRenderer->hasEntirelyFixedBackground(); | 951 return rootRenderer->hasEntirelyFixedBackground(); |
| 951 } | 952 } |
| 952 | 953 |
| 954 bool RenderView::useDesktopStyleLayout() const | |
| 955 { | |
| 956 Page* page = document()->page(); | |
| 957 | |
| 958 if (!page) | |
| 959 return false; | |
| 960 | |
| 961 return !page->settings()->layoutFallbackWidth(); | |
| 962 } | |
| 963 | |
| 953 LayoutRect RenderView::backgroundRect(RenderBox* backgroundRenderer) const | 964 LayoutRect RenderView::backgroundRect(RenderBox* backgroundRenderer) const |
| 954 { | 965 { |
| 955 if (!hasColumns()) | 966 if (!hasColumns()) |
| 956 return unscaledDocumentRect(); | 967 return unscaledDocumentRect(); |
| 957 | 968 |
| 958 ColumnInfo* columnInfo = this->columnInfo(); | 969 ColumnInfo* columnInfo = this->columnInfo(); |
| 959 LayoutRect backgroundRect(0, 0, columnInfo->desiredColumnWidth(), columnInfo ->columnHeight() * columnInfo->columnCount()); | 970 LayoutRect backgroundRect(0, 0, columnInfo->desiredColumnWidth(), columnInfo ->columnHeight() * columnInfo->columnCount()); |
| 960 if (!isHorizontalWritingMode()) | 971 if (!isHorizontalWritingMode()) |
| 961 backgroundRect = backgroundRect.transposedRect(); | 972 backgroundRect = backgroundRect.transposedRect(); |
| 962 backgroundRenderer->flipForWritingMode(backgroundRect); | 973 backgroundRenderer->flipForWritingMode(backgroundRect); |
| 963 | 974 |
| 964 return backgroundRect; | 975 return backgroundRect; |
| 965 } | 976 } |
| 966 | 977 |
| 967 IntRect RenderView::documentRect() const | 978 IntRect RenderView::documentRect() const |
| 968 { | 979 { |
| 969 FloatRect overflowRect(unscaledDocumentRect()); | 980 FloatRect overflowRect(unscaledDocumentRect()); |
| 970 if (hasTransform()) | 981 if (hasTransform()) |
| 971 overflowRect = layer()->currentTransform().mapRect(overflowRect); | 982 overflowRect = layer()->currentTransform().mapRect(overflowRect); |
| 972 return IntRect(overflowRect); | 983 return IntRect(overflowRect); |
| 973 } | 984 } |
| 974 | 985 |
| 975 int RenderView::viewHeight() const | 986 int RenderView::viewHeight() const |
| 976 { | 987 { |
| 977 int height = 0; | 988 int height = 0; |
| 978 if (!shouldUsePrintingLayout() && m_frameView) { | 989 if (!shouldUsePrintingLayout() && m_frameView) { |
| 979 height = m_frameView->layoutHeight(); | 990 height = m_frameView->layoutHeight(); |
| 980 height = m_frameView->useFixedLayout() ? ceilf(style()->effectiveZoom() * float(height)) : height; | 991 height = !useDesktopStyleLayout() ? ceilf(style()->effectiveZoom() * flo at(height)) : height; |
|
aelias_OOO_until_Jul13
2013/07/31 22:31:21
This is a legacy of one of the other WebKit ports,
| |
| 981 } | 992 } |
| 993 | |
| 982 return height; | 994 return height; |
| 983 } | 995 } |
| 984 | 996 |
| 985 int RenderView::viewWidth() const | 997 int RenderView::viewWidth() const |
| 986 { | 998 { |
| 987 int width = 0; | 999 int width = 0; |
| 988 if (!shouldUsePrintingLayout() && m_frameView) { | 1000 if (!shouldUsePrintingLayout() && m_frameView) { |
| 989 width = m_frameView->layoutWidth(); | 1001 width = m_frameView->layoutWidth(); |
| 990 width = m_frameView->useFixedLayout() ? ceilf(style()->effectiveZoom() * float(width)) : width; | 1002 width = !useDesktopStyleLayout() ? ceilf(style()->effectiveZoom() * floa t(width)) : width; |
| 991 } | 1003 } |
| 1004 | |
| 992 return width; | 1005 return width; |
| 993 } | 1006 } |
| 994 | 1007 |
| 995 int RenderView::viewLogicalHeight() const | 1008 int RenderView::viewLogicalHeight() const |
| 996 { | 1009 { |
| 997 int height = style()->isHorizontalWritingMode() ? viewHeight() : viewWidth() ; | 1010 int height = style()->isHorizontalWritingMode() ? viewHeight() : viewWidth() ; |
| 998 | 1011 |
| 999 if (hasColumns() && !style()->hasInlineColumnAxis()) { | 1012 if (hasColumns() && !style()->hasInlineColumnAxis()) { |
| 1000 if (int pageLength = m_frameView->pagination().pageLength) | 1013 if (int pageLength = m_frameView->pagination().pageLength) |
| 1001 height = pageLength; | 1014 height = pageLength; |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1148 #endif | 1161 #endif |
| 1149 | 1162 |
| 1150 if (layoutState) | 1163 if (layoutState) |
| 1151 layoutState->m_isPaginated = m_fragmenting; | 1164 layoutState->m_isPaginated = m_fragmenting; |
| 1152 | 1165 |
| 1153 if (m_flowThreadState != RenderObject::NotInsideFlowThread) | 1166 if (m_flowThreadState != RenderObject::NotInsideFlowThread) |
| 1154 m_root->setFlowThreadStateIncludingDescendants(m_flowThreadState); | 1167 m_root->setFlowThreadStateIncludingDescendants(m_flowThreadState); |
| 1155 } | 1168 } |
| 1156 | 1169 |
| 1157 } // namespace WebCore | 1170 } // namespace WebCore |
| OLD | NEW |